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
Current Behaviour
Most examples in the repository lack automated tests, making it difficult to:
Currently, only the
postgres-failover-slotsexample has automated testing via GitHub Actions.Expected Behaviour
Implement a test framework similar to the
postgres-failover-slotsexample for all applicable examples.Reference Implementation:
The
postgres-failover-slotsexample demonstrates a working approach:scripts/run-example-test.py- Python-based test runnerpostgres-failover-slots/test.yaml- Declarative YAML DSL for test steps.github/workflows/postgres-failover-slots-workflow.yml- CI integrationThe test framework supports:
docker compose execRelated