refactor(test): consolidate testing infrastructure with Docker Compose#41
Merged
Merged
Conversation
c6f1d37 to
b22f5b8
Compare
sbalabanov
requested changes
Feb 23, 2026
Contributor
sbalabanov
left a comment
There was a problem hiding this comment.
The only blocking comment I have is ditching Testcontainers-Go. Justification is not clear, in fact I do see more manual steps to do it with docker-compose (which testcontainers managed before)
d9faf53 to
1cb8a36
Compare
behinddwalls
added a commit
that referenced
this pull request
Feb 23, 2026
## Summary Wire up the first stage of the queue pipeline: Gateway publishes land requests to the queue, Orchestrator consumes and processes them. **Consumer Infrastructure:** - Add Consumer interface (Register/Start/Stop) for orchestrating multiple controllers - Add consumer.Delivery interface to enforce separation of concerns (type-safe) - Controllers receive consumer.Delivery (no Ack/Nack), Consumer handles ack/nack - Implement subscription lifecycle, automatic ack/nack, metrics, graceful shutdown **Gateway:** - Land controller publishes requests to land_request queue after storage - Queue infrastructure optional (controlled by QUEUE_MYSQL_DSN env var) **Orchestrator:** - Request controller consumes from land_request queue - Wire up consumer with graceful shutdown in main.go **CLAUDE.md:** - Document RPC vs Queue Message controller patterns - Add code style guidelines: use SugaredLogger, use interfaces for contracts All unit and integration tests pass. Backward compatible with existing tests. ## Test Plan ## Issues ## Stack 1. @ #39 1. #41
Collaborator
Author
|
So i made changes with TC-go and here is the side by side comparision, I am leaning towards keeping docker compose model as it works for both, CI and local development vs needing 2 separate set-ups for both. This commit has TC-Go changes for ref: 5ce015e |
b22f5b8 to
892f043
Compare
behinddwalls
added a commit
that referenced
this pull request
Feb 24, 2026
Replace docker-compose based test setup with Testcontainers-Go for
programmatic container lifecycle management in Go tests.
- Add testutil helpers: SetupMySQL, StartServer, SetupNetwork
- Real-time log streaming via LogConsumer -> t.Log
- Readiness via wait.ForLog / MySQL module built-in health
- SKIP_CLEANUP + t.Failed() container preservation for debugging
- Container naming: sq-test-{context}-{shortid}-{service}
- Delete compose.go (316 lines) and 5 docker-compose.yml test files
- Fix PR #41 review comments: CI workflow, counter tests, SIGTERM
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Migrate from manual server setup to Docker Compose-based hermetic testing.
Consolidate tests under test/ directory with consistent patterns.
Key changes:
- New test structure: test/e2e/, test/integration/{gateway,orchestrator,extensions}/
- Container naming: sq-test-{context}-{unique-id} for parallel execution
- Shared utilities in test/testutil/ (compose, docker, mysql, schema helpers)
- Removed old {service}/integration_test/ directories and speculator service
- Documentation: TESTING.md → doc/howto/, STRUCTURE.md → PROJECT_STRUCTURE.md
- Makefile: alphabetical targets, new integration test targets, local-start/stop naming
- Consolidate CI and create separate jobs for faster run and add bazel cache
892f043 to
52e87c4
Compare
kevinlnew
approved these changes
Feb 24, 2026
Contributor
|
Hm, I do not know how it computed "infrastructure" code. I do see fewer lines in TC-based implementation. |
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.
Summary
Migrate from manual server setup to Docker Compose-based hermetic testing.
Consolidate tests under test/ directory with consistent patterns.
Key changes:
Test Plan
Issues