Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
✅ Deploy Preview for testcontainers-dotnet ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review. WalkthroughThe change adds a ZooKeeper Testcontainers module with image-based container setup, readiness polling, and connection-string retrieval. It also adds integration tests, solution entries, and module documentation. ChangesZooKeeper module
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant ZooKeeperContainerTest
participant ZooKeeperBuilder
participant ZooKeeperContainer
participant ZooKeeperAdminServer
ZooKeeperContainerTest->>ZooKeeperBuilder: Configure ZooKeeper image
ZooKeeperBuilder->>ZooKeeperContainer: Build container
ZooKeeperContainer->>ZooKeeperAdminServer: Poll /commands/ruok on port 8080
ZooKeeperAdminServer-->>ZooKeeperContainer: Return readiness response
ZooKeeperContainer-->>ZooKeeperContainerTest: Provide tcp://host:port connection string
Merge Risk: ⚪ Minimal · up to The change adds ZooKeeper container setup, connection access, tests, and documentation. No actionable merge-blocking issue is established; merge after normal build and integration checks pass. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 5 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit packs a carrot and a kit, Comment |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Regarding the CodeRabbit slop flag (redundant_comments): the repeated comments it detects are intentionally copied from the repository's existing module template (the configuration-class comments and Given/When/Then test markers appear verbatim in the ClickHouse, KurrentDb and other modules) to keep this module consistent with the established pattern. For transparency: I developed this module with AI assistance, as the commit trailers note. I reviewed the design and code myself and validated the behavior against the real zookeeper:3.9.5 image locally (all tests pass). Happy to adjust any comments the maintainers consider noise. |
What does this PR do?
Adds a new
Testcontainers.ZooKeepermodule for Apache ZooKeeper, following the existing module pattern (builder / configuration / container, tests, docs).The builder binds the client port (2181) and the AdminServer port (8080), and waits for readiness by polling the AdminServer's
/commands/ruokendpoint until it reports no error.GetConnectionString()returns thehost:portpair ZooKeeper clients expect. The image is pinned tozookeeper:3.9.5. Tests cover the connection string format and a real znode create/read round-trip viazkCli.sh.Why is it important?
Requested in #1560, where maintaining it as a separate module (rather than folding it into the Kafka module) was agreed.
Related issues
How to test this PR
dotnet test tests/Testcontainers.ZooKeeper.Tests(3 tests, verified locally against Docker 27.4).🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
Tests