yugabyte / debezium-connector-yugabytedb

A Debezium CDC connector for the YugabyteDB database
https://docs.yugabyte.com/stable/explore/change-data-capture/using-logical-replication/yugabytedb-connector/
Apache License 2.0
12 stars 8 forks source link

[yugabyte/yugabyte-db#20410] Add annotation `MinimumYBVersion` for tests #315

Open vaibhav-yb opened 10 months ago

vaibhav-yb commented 10 months ago

Problem

Currently, the test infra has a lot of tests and they are all compatible with the latest master branch at yugabyte/yugabyte-db but some of these tests are only compatible with the latest branch as the features are not available in previous versions.

Naturally, when these tests will be run against a previous YB version, they will fail, thus polluting the test results with failures.

Solution

This PR introduces an annotation @MinimumYBVersion which adds the ability to a test to be run only when the service version is equal to or greater than the specified version for test, if the service version is less, the test will be skipped/disabled.

Changes

  1. Added class YBVersion to denote YugabyteDB version for service
  2. Added annotation MinimumYBVersion and it's condition evaluation in the class RunWithMinimumYBVersion

Note: The added annotation fetches the current YB version from the environment variable YB_DOCKER_IMAGE so it is mandatory for this environment variable to be set while running the tests, otherwise the current version will be defaulted to 2.21.0.0

Additionally, this closes yugabyte/yugabyte-db#20410