Implement automated testing framework for debezium-examples
- Dominant language
- HTML
- Stars
- 6
- Forks
- 8
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 1
Description
#### Current Behaviour
Most examples in the repository lack automated tests, making it difficult to:
- Verify examples work correctly after Debezium version upgrades
- Catch breaking changes before they reach users
- Ensure examples continue to work as Docker images and dependencies evolve
- Maintain confidence in example code quality
Currently, only the `postgres-failover-slots` example has automated testing via GitHub Actions.
#### Expected Behaviour
Implement a test framework similar to the `postgres-failover-slots` example for all applicable examples.
**Reference Implementation:**
The `postgres-failover-slots` example demonstrates a working approach:
- **Test script**: `scripts/run-example-test.py` - Python-based test runner
- **Test manifest**: `postgres-failover-slots/test.yaml` - Declarative YAML DSL for test steps
- **GitHub Actions**: `.github/workflows/postgres-failover-slots-workflow.yml` - CI integration
The test framework supports:
- Docker Compose service orchestration
- HTTP endpoint polling (for service readiness)
- Database operations via `docker compose exec`
- Kafka message consumption and verification
- Flexible wait conditions and timeouts
Related
- debezium/dbz#1165 PR discussion
Contributor guide
Assessment
This issue has not been assessed yet.