feat(bdd): add shared stream operations scenario for Go SDK#3245
Open
ex172000 wants to merge 5 commits into
Open
feat(bdd): add shared stream operations scenario for Go SDK#3245ex172000 wants to merge 5 commits into
ex172000 wants to merge 5 commits into
Conversation
Move step definitions from stream_operations_test.go to stream_operations.go (non-test file) and register the suite in suite_test.go, matching the pattern used by basic_messaging and leader_redirection. Update imports to use refactored Go SDK paths (client, client/tcp, contracts). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
apache#1986) Extend the shared basic_messaging.feature with stream update and delete steps, covering full CRUD lifecycle. Add matching step definitions in all 6 SDKs (Go, Python, Rust, Java, Node, C#). Add update_stream and delete_stream methods to the Python SDK (PyO3). Remove the separate stream_operations.feature and its Go-only implementation to avoid duplication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use iggy::prelude::Identifier instead of iggy::identifier::Identifier and unwrap Option<StreamDetails> from get_stream. Add null assertion for stream.get() return value in Node step definition. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Verify stream deletion via GetStream rather than checking the local pointer, which whenDeleteStream sets to nil itself (chengxilo). - Anchor all Go sc.Step regexes with ^...$ for consistency (chengxilo). - Document the per-scenario After cleanup as best-effort and note the longer-term direction of a global cleanup script (chengxilo). - Make the stream-delete step explicit by passing the stream name in the feature file instead of relying on implicit prior-step state (hubcio). Update Go, Rust, Python, Java, C#, and Node step definitions to match the new "I delete the stream with name ..." step.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3245 +/- ##
============================================
- Coverage 73.82% 73.77% -0.05%
Complexity 943 943
============================================
Files 1190 1190
Lines 107832 107863 +31
Branches 84849 84866 +17
============================================
- Hits 79606 79580 -26
- Misses 25469 25508 +39
- Partials 2757 2775 +18
🚀 New features to boost your workflow:
|
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.
Continues / supersedes #3063, which was auto-closed due to inactivity. The branch was force-pushed (rebase on current
masterplus a new fixup commit), so GitHub does not allow reopening the original PR.Which issue does this PR close?
Related to #1986
What changed?
The four commits on this branch add a shared Gherkin feature file for stream CRUD operations and corresponding
godogstep definitions, then layer inupdate/deletefor streams across all SDKs. The new commit on top addresses the remaining review feedback from #3063:thenStreamDeletedSuccessfullynow verifies viaGetStreamagainst the server instead of checking a local pointer thatwhenDeleteStreamitself set to nil.sc.Stepregexes inbdd/go/tests/basic_messaging.gowith^...$for consistency.Aftercleanup but documented it as best-effort, with a note that a global cleanup script is the better long-term direction.When I delete the stream with name "...") instead of relying on implicit prior-step state. Updated the Go, Rust, Python, Java, C#, and Node step definitions to match.Local Execution
master.go vet ./tests/...andgo test -count=0 ./tests/...pass forbdd/go.golangci-lintandcsharp-dotnet-formatwere skipped locally due to toolchain gaps —golangci-lintpinned at v1.64.8 (Go 1.23) cannot lint a Go 1.25 project, anddotnetis not on this machine; CI will exercise both properly).AI Usage