Skip to content

Implement automated testing framework for debezium-examples #1810

@vsantonastaso

Description

@vsantonastaso

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

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions