Repository navigation
Test non-201 answers, sender resilience, trimming and ParamName - #9
Open
dmccoystephenson wants to merge 1 commit into
Open
dmccoystephenson wants to merge 1 commit into
dmccoystephenson wants to merge 1 commit into
Conversation
Four characterization tests for behaviour that had none: a 200 is logged as a failure like any status but 201; a 500 does not stop the sending thread from delivering the reports behind it; the constructor trims the base URL, application and key before they reach the wire; and each ArgumentException names the parameter it rejects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
Self-review rubric (posted as a comment, not an independent review):
Notes:
Summary: test-only change, green on every CI target. No findings call for changes. This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). drafted by Claude on behalf of Daniel Stephenson |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage B — unit-test expansion (wire-status handling, sender resilience, constructor input handling). Test-only; no production code is changed.
Summary
Report_TreatsAnyStatusButExactly201AsAFailure— a200is logged asanswered 200, pinning the README promise that exactly201is success.Report_KeepsSendingAfterAFailedDelivery— a500on the first report does not stop the sending thread; the next two reports are still delivered, in order, and only the failure is logged.Constructor_TrimsTheBaseUrlApplicationAndKey— surrounding whitespace onbaseUrl,applicationandkeynever reaches the path,Authorization,User-Agentor body.Constructor_NamesTheParameterItRejects— every constructorArgumentExceptioncarries the rightParamName(baseUrl,application,version,installId); previously only the malformed-URL case was checked.These are characterization tests: each asserts behaviour the code already has, so they are expected to pass on the current source.
Test plan
Build/ ubuntu-latest (net8.0) greenBuild/ windows-latest (net8.0 + net48) greenLocal verification: UNVERIFIED — no .NET SDK is installed in the dispatch sandbox, so the CI matrix on the PR head is the gate.
Triage notes
Close()bound is documented as the timeout but can be the timeout + 500 ms); it was filed as Close() docs say it waits at most the timeout; it can wait the timeout plus 500 ms #8 rather than folded into this test-only PR.No tracking issue — gap found during triage.
This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).
🤖 Generated with Claude Code
drafted by Claude on behalf of Daniel Stephenson