diff --git a/debezium-server-iceberg-sink/pom.xml b/debezium-server-iceberg-sink/pom.xml index 28a5a877..19c0ac68 100644 --- a/debezium-server-iceberg-sink/pom.xml +++ b/debezium-server-iceberg-sink/pom.xml @@ -214,19 +214,6 @@ 4.2.0 test - - io.debezium - debezium-core - ${version.debezium} - test-jar - test - - - io.debezium - debezium-server-core - test-jar - test - org.testcontainers testcontainers @@ -242,11 +229,13 @@ io.debezium debezium-connector-postgres + ${version.debezium} test io.debezium debezium-connector-mysql + ${version.debezium} test diff --git a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/ConfigSource.java b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestConfigSource.java similarity index 85% rename from debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/ConfigSource.java rename to debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestConfigSource.java index 98b5009c..f3498def 100644 --- a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/ConfigSource.java +++ b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestConfigSource.java @@ -8,14 +8,20 @@ package io.debezium.server.iceberg; -import io.debezium.server.TestConfigSource; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; -public class ConfigSource extends TestConfigSource { +import org.eclipse.microprofile.config.spi.ConfigSource; + +public class TestConfigSource implements ConfigSource { public static final String S3_REGION = "us-east-1"; public static final String S3_BUCKET = "test-bucket"; + protected Map config = new HashMap<>(); + - public ConfigSource() { + public TestConfigSource() { config.put("quarkus.profile", "postgresql"); // common sink conf config.put("debezium.sink.type", "iceberg"); @@ -69,9 +75,22 @@ public ConfigSource() { } @Override - public int getOrdinal() { - // Configuration property precedence is based on ordinal values and since we override the - // properties in TestConfigSource, we should give this a higher priority. - return super.getOrdinal() + 1; + public Map getProperties() { + return config; + } + + @Override + public String getName() { + return "test"; + } + + @Override + public Set getPropertyNames() { + return config.keySet(); + } + + @Override + public String getValue(String propertyName) { + return config.get(propertyName); } } diff --git a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestIcebergUtil.java b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestIcebergUtil.java index f92ec654..5dcf8eff 100644 --- a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestIcebergUtil.java +++ b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/TestIcebergUtil.java @@ -9,9 +9,10 @@ package io.debezium.server.iceberg; import io.debezium.serde.DebeziumSerdes; -import io.debezium.util.Testing; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Collections; import com.fasterxml.jackson.core.JsonProcessingException; @@ -25,11 +26,14 @@ import static org.junit.jupiter.api.Assertions.*; class TestIcebergUtil { - final String serdeWithSchema = Testing.Files.readResourceAsString("json/serde-with-schema.json"); - final String unwrapWithSchema = Testing.Files.readResourceAsString("json/unwrap-with-schema.json"); - final String unwrapWithGeomSchema = Testing.Files.readResourceAsString("json/serde-with-schema_geom.json"); - final String unwrapWithArraySchema = Testing.Files.readResourceAsString("json/serde-with-array.json"); - final String unwrapWithArraySchema2 = Testing.Files.readResourceAsString("json/serde-with-array2.json"); + final String serdeWithSchema = Files.readString(Path.of("src/test/resources/json/serde-with-schema.json")); + final String unwrapWithSchema = Files.readString(Path.of("src/test/resources/json/unwrap-with-schema.json")); + final String unwrapWithGeomSchema = Files.readString(Path.of("src/test/resources/json/serde-with-schema_geom.json")); + final String unwrapWithArraySchema = Files.readString(Path.of("src/test/resources/json/serde-with-array.json")); + final String unwrapWithArraySchema2 = Files.readString(Path.of("src/test/resources/json/serde-with-array2.json")); + + TestIcebergUtil() throws IOException { + } @Test public void testNestedJsonRecord() throws JsonProcessingException { diff --git a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/BaseSparkTest.java b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/BaseSparkTest.java index 22d76f77..31dd2953 100644 --- a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/BaseSparkTest.java +++ b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/BaseSparkTest.java @@ -24,7 +24,7 @@ import org.eclipse.microprofile.config.ConfigProvider; import org.eclipse.microprofile.config.inject.ConfigProperty; import org.junit.jupiter.api.BeforeAll; -import static io.debezium.server.iceberg.ConfigSource.S3_BUCKET; +import static io.debezium.server.iceberg.TestConfigSource.S3_BUCKET; /** * Integration test that uses spark to consumer data is consumed. diff --git a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/S3Minio.java b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/S3Minio.java index b2c6e000..2cbd5388 100644 --- a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/S3Minio.java +++ b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/S3Minio.java @@ -8,7 +8,7 @@ package io.debezium.server.iceberg.testresources; -import io.debezium.server.iceberg.ConfigSource; +import io.debezium.server.iceberg.TestConfigSource; import io.minio.ListObjectsArgs; import io.minio.MakeBucketArgs; import io.minio.MinioClient; @@ -46,7 +46,7 @@ public class S3Minio implements QuarkusTestResourceLifecycleManager { .withStartupTimeout(Duration.ofSeconds(30))) .withEnv("MINIO_ACCESS_KEY", MINIO_ACCESS_KEY) .withEnv("MINIO_SECRET_KEY", MINIO_SECRET_KEY) - .withEnv("MINIO_REGION_NAME", ConfigSource.S3_REGION) + .withEnv("MINIO_REGION_NAME", TestConfigSource.S3_REGION) .withCommand("server " + DEFAULT_STORAGE_DIRECTORY) .withExposedPorts(MINIO_DEFAULT_PORT); public static MinioClient client; @@ -120,8 +120,8 @@ public Map start() { try { client.ignoreCertCheck(); client.makeBucket(MakeBucketArgs.builder() - .region(ConfigSource.S3_REGION) - .bucket(ConfigSource.S3_BUCKET) + .region(TestConfigSource.S3_REGION) + .bucket(TestConfigSource.S3_BUCKET) .build()); } catch (Exception e) { e.printStackTrace(); diff --git a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourceMysqlDB.java b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourceMysqlDB.java index 751d53ad..06501576 100644 --- a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourceMysqlDB.java +++ b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourceMysqlDB.java @@ -30,7 +30,7 @@ public class SourceMysqlDB implements QuarkusTestResourceLifecycleManager { public static final String MYSQL_PASSWORD = "mysqlpw"; public static final String MYSQL_DEBEZIUM_USER = "debezium"; public static final String MYSQL_DEBEZIUM_PASSWORD = "dbz"; - public static final String MYSQL_IMAGE = "debezium/example-mysql:1.9.2.Final"; + public static final String MYSQL_IMAGE = "debezium/example-mysql:2.1.2.Final"; public static final String MYSQL_HOST = "127.0.0.1"; public static final String MYSQL_DATABASE = "inventory"; public static final Integer MYSQL_PORT_DEFAULT = 3306; diff --git a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourcePostgresqlDB.java b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourcePostgresqlDB.java index 8a0ab6a1..7e380682 100644 --- a/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourcePostgresqlDB.java +++ b/debezium-server-iceberg-sink/src/test/java/io/debezium/server/iceberg/testresources/SourcePostgresqlDB.java @@ -28,7 +28,7 @@ public class SourcePostgresqlDB implements QuarkusTestResourceLifecycleManager { public static final String POSTGRES_USER = "postgres"; public static final String POSTGRES_PASSWORD = "postgres"; public static final String POSTGRES_DBNAME = "postgres"; - public static final String POSTGRES_IMAGE = "debezium/example-postgres:1.9.2.Final"; + public static final String POSTGRES_IMAGE = "debezium/example-postgres:2.1.2.Final"; public static final String POSTGRES_HOST = "localhost"; public static final Integer POSTGRES_PORT_DEFAULT = 5432; private static final Logger LOGGER = LoggerFactory.getLogger(SourcePostgresqlDB.class); diff --git a/debezium-server-iceberg-sink/src/test/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource b/debezium-server-iceberg-sink/src/test/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource index ab3550eb..bdaeb9f3 100644 --- a/debezium-server-iceberg-sink/src/test/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource +++ b/debezium-server-iceberg-sink/src/test/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource @@ -30,4 +30,4 @@ # */ # -io.debezium.server.iceberg.ConfigSource \ No newline at end of file +io.debezium.server.iceberg.TestConfigSource \ No newline at end of file