feat(ci): add E2E handshake test for API-Core integration#145
feat(ci): add E2E handshake test for API-Core integration#145GenerQAQ merged 15 commits intomemodb-io:devfrom
Conversation
|
🗡️ |
|
🎉 |
|
@GenerQAQ any follow up? or should i close this PR and my issue that i was working on? Dont want to take any new issues before implementing something new |
Previously, I was busy with the development of new features, I'm starting my review now and will share feedback soon. |
GenerQAQ
left a comment
There was a problem hiding this comment.
Overall, this PR adds a solid E2E testing infrastructure. A few issues to address:
Cleaned up config, improved error handling, and added documentation comments based on reviewer suggestions.
GenerQAQ
left a comment
There was a problem hiding this comment.
LGTM! ready to merge once the minor issues are addressed.
The current title "Feat/e2e handshake" could be more descriptive. Consider:
feat: add E2E handshake test suitefeat(test): add E2E integration test for full stack handshakefeat(ci): add E2E handshake test for API-Core integration
- Remove unused time import - Configure immediate message processing (buffer_max_turns: 1) - Reduces test execution time by ~8 seconds
GenerQAQ
left a comment
There was a problem hiding this comment.
LGTM, Ready to merge! 🚀
Why we need this PR?
We needed a reliable way to confirm and verify that the entire backend stack (Go API, RabbitMQ, Python Core, Database, S3) is correctly integrated and communicating :) . Unit tests alone do not cover these complex cross-service interactions. This PR introduces an isolated E2E "Handshake" test suite that proves the services can successfully talk to each other in a CI-like environment. :)
Describe your solution
I implemented a comprehensive E2E testing infrastructure:
Isolated Test Environment: Introduced src/server/docker-compose.test.yml, a specialized configuration for testing that:
healthcheckconditions to ensure all dependencies are ready before services start.Handshake Test Script: Added src/server/tests/e2e/handshake_test.py, which:
CI Integration: Added .github/workflows/e2e-handshake.yaml to automatically run this full-stack verification on every PR.
Critical Fixes:
Implementation Tasks
Please ensure your pull request meets the following requirements:
panicdue to incorrect RabbitMQ port/vhost configurationseaweedfs-setupexitImpact Areas
Which part of Acontext would this feature affect?
Checklist
devbranch.kill me if e2e-handshake.yaml implemented (CI run triggered) fails