From 7c8af1c9c7327ec10c4db20c9f27c0bd0d781703 Mon Sep 17 00:00:00 2001 From: Anisha Mohanty Date: Mon, 3 Jan 2022 20:26:36 +0530 Subject: [PATCH] DBZ-4466 Make REST extension tests independent of source code version --- debezium-connect-rest-extension/pom.xml | 17 +++++++++++++- .../io/debezium/kcrestextension/Module.java | 23 +++++++++++++++++++ .../io/debezium/kcrestextension/build.version | 1 + .../kcrestextension/DebeziumResourceIT.java | 4 ++-- .../DebeziumResourceNoTopicCreationIT.java | 4 ++-- .../debezium/kcrestextension/TestHelper.java | 9 ++++---- 6 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 debezium-connect-rest-extension/src/main/java/io/debezium/kcrestextension/Module.java create mode 100644 debezium-connect-rest-extension/src/main/resources/io/debezium/kcrestextension/build.version diff --git a/debezium-connect-rest-extension/pom.xml b/debezium-connect-rest-extension/pom.xml index 8525b5df1..d2c106a9f 100644 --- a/debezium-connect-rest-extension/pom.xml +++ b/debezium-connect-rest-extension/pom.xml @@ -44,6 +44,10 @@ rest-assured test + + io.debezium + debezium-core + @@ -75,10 +79,21 @@ true src/main/resources - **/META-INF/services/* + * + **/* + + + src/test/resources + true + + * + **/* + + + diff --git a/debezium-connect-rest-extension/src/main/java/io/debezium/kcrestextension/Module.java b/debezium-connect-rest-extension/src/main/java/io/debezium/kcrestextension/Module.java new file mode 100644 index 000000000..bfe3e7d74 --- /dev/null +++ b/debezium-connect-rest-extension/src/main/java/io/debezium/kcrestextension/Module.java @@ -0,0 +1,23 @@ +/* + * Copyright Debezium Authors. + * + * Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package io.debezium.kcrestextension; + +import java.util.Properties; + +import io.debezium.util.IoUtil; + +/** + * Information about this module. + * + */ +public final class Module { + + private static final Properties INFO = IoUtil.loadProperties(Module.class, "io/debezium/kcrestextension/build.version"); + + public static String version() { + return INFO.getProperty("version"); + } +} diff --git a/debezium-connect-rest-extension/src/main/resources/io/debezium/kcrestextension/build.version b/debezium-connect-rest-extension/src/main/resources/io/debezium/kcrestextension/build.version new file mode 100644 index 000000000..defbd4820 --- /dev/null +++ b/debezium-connect-rest-extension/src/main/resources/io/debezium/kcrestextension/build.version @@ -0,0 +1 @@ +version=${project.version} diff --git a/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceIT.java b/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceIT.java index 690a99163..6ad6789d9 100644 --- a/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceIT.java +++ b/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceIT.java @@ -24,12 +24,12 @@ public class DebeziumResourceIT { private static final Logger LOGGER = LoggerFactory.getLogger(DebeziumResourceIT.class); - private static final String DEBEZIUM_VERSION = "1.7"; + private static final String DEBEZIUM_CONTAINER_IMAGE_VERSION = "1.7"; @BeforeEach public void start() { TestHelper.stopContainers(); - TestHelper.setupDebeziumContainer(DEBEZIUM_VERSION); + TestHelper.setupDebeziumContainer(DEBEZIUM_CONTAINER_IMAGE_VERSION); } @AfterEach diff --git a/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceNoTopicCreationIT.java b/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceNoTopicCreationIT.java index 9d60235b8..c754cc914 100644 --- a/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceNoTopicCreationIT.java +++ b/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/DebeziumResourceNoTopicCreationIT.java @@ -20,12 +20,12 @@ */ public class DebeziumResourceNoTopicCreationIT { private static final Logger LOGGER = LoggerFactory.getLogger(DebeziumResourceNoTopicCreationIT.class); - private static final String DEBEZIUM_VERSION = "1.2"; + private static final String DEBEZIUM_CONTAINER_IMAGE_VERSION = "1.2"; @BeforeEach public void start() { TestHelper.stopContainers(); - TestHelper.setupDebeziumContainer(DEBEZIUM_VERSION); + TestHelper.setupDebeziumContainer(DEBEZIUM_CONTAINER_IMAGE_VERSION); TestHelper.startContainers(); } diff --git a/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/TestHelper.java b/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/TestHelper.java index ea4a1c8f6..fdcbdc8ab 100644 --- a/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/TestHelper.java +++ b/debezium-connect-rest-extension/src/test/java/io/debezium/kcrestextension/TestHelper.java @@ -24,6 +24,7 @@ public class TestHelper { private static final Logger LOGGER = LoggerFactory.getLogger(TestHelper.class); private static final String KAFKA_HOSTNAME = "kafka-dbz-ui"; + private static final String DEBEZIUM_VERSION = Module.version(); public static final String API_PREFIX = "/debezium"; public static final String TRANSFORMS_ENDPOINT = "/transforms"; @@ -41,15 +42,15 @@ public static DebeziumContainer getDebeziumContainer() { return DEBEZIUM_CONTAINER; } - public static void setupDebeziumContainer(String debeziumVersion) { - DEBEZIUM_CONTAINER = new DebeziumContainer(DockerImageName.parse("debezium/connect:" + debeziumVersion)) + public static void setupDebeziumContainer(String debeziumContainerImageVersion) { + DEBEZIUM_CONTAINER = new DebeziumContainer(DockerImageName.parse("debezium/connect:" + debeziumContainerImageVersion)) .withEnv("ENABLE_DEBEZIUM_SCRIPTING", "true") .withEnv("CONNECT_REST_EXTENSION_CLASSES", "io.debezium.kcrestextension.DebeziumConnectRestExtension") .withNetwork(NETWORK) .withCopyFileToContainer( MountableFile.forHostPath( - "target/debezium-connect-rest-extension-1.9.0-SNAPSHOT.jar"), - "/kafka/libs/debezium-kcd-rest-extension-1.9.0.jar") + "target/debezium-connect-rest-extension-" + DEBEZIUM_VERSION + ".jar"), + "/kafka/libs/debezium-kcd-rest-extension-" + DEBEZIUM_VERSION + ".jar") .withKafka(KAFKA_CONTAINER.getNetwork(), KAFKA_HOSTNAME + ":9092") .withLogConsumer(new Slf4jLogConsumer(LOGGER)) .withStartupTimeout(Duration.ofSeconds(90))