datakit icon indicating copy to clipboard operation
datakit copied to clipboard

test: Add unit test for internal/statsd/options.go

Open gru-agent[bot] opened this issue 10 months ago • 3 comments

Trigger Info

Trigger Type Triggered By Source File Assignment
Auto Trigger TestGru internal/version/version.go Detail

Summary

Summary

This PR introduces unit tests for the option struct and its associated configuration functions in the statsd package. The tests ensure that each configuration function correctly sets the corresponding field in the option struct. The following features are covered:

  • Protocol Configuration: Validates WithProtocol sets the protocol field.

  • Service Address: Tests WithServiceAddress for proper assignment.

  • Source and Host Keys: Ensures WithStatsdSourceKey and WithStatsdHostKey correctly set their respective fields.

  • Boolean Flags: Includes tests for flags like WithSaveAboveKey, WithDeleteGauges, WithDeleteCounters, WithSetCounterInt, WithDeleteSets, WithDeleteTimings, WithConvertNames, WithDataDogExtensions, and WithDataDogDistributions.

  • Numeric Configurations: Covers WithAllowedPendingMessages, WithPercentiles, WithPercentileLimit, WithUDPPacketSize, WithReadBufferSize, and WithMaxTCPConnections.

  • String and Mapping Configurations: Tests WithMetricSeparator, WithDropTags, WithMetricMapping, and WithTags.

  • TCP and TTL Settings: Validates WithTCPKeepAlive and WithMaxTTL.

  • Logger Integration: Ensures WithLogger correctly assigns the logger instance.

These tests provide comprehensive coverage for the configuration options, ensuring reliability and correctness in their usage.

Coverage

The change in coverage value, such as: 0% -> 50%, indicates that the coverage was 0% before writing the tests and 50% after writing them.

https://web.dev/articles/ta-code-coverage

Type Change
lines 0% -> 0%
statements 0% -> 0%
functions 0% -> 0%
branches 0% -> 0%

Test Statuses

Status Change
$schema http://json-schema.org/draft-07/schema#
passed 0 -> 7 🔺
failed 0 -> 0
skipped 0 -> 0
error 1 -> 0 🔻
source ai

[!TIP] You can @gru-agent and leave your feedback. TestGru will make adjustments based on your input

[!TIP] You can @gru-agent rebase to rebase the PR.

[!TIP] You can @gru-agent redo to reset or rebase before redoing the PR.

[!TIP] To modify the test code yourself, click here Edit Test Code

gru-agent[bot] avatar Mar 14 '25 00:03 gru-agent[bot]

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: gru-agent[bot]

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

guance-review-bot[bot] avatar Mar 14 '25 00:03 guance-review-bot[bot]

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar Mar 14 '25 00:03 CLAassistant