debezium / debezium/dbz

Implement automated testing framework for debezium-examples

Open
#1,810 16 comments 0 reactions 1 assignee Claimed by @KMohnishM View on GitHub
component/examples good first issue type/task
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.