From 434dfd179c7b2c00bec1809f8b31f238a8933b6c Mon Sep 17 00:00:00 2001 From: Kanthi Subramanian Date: Fri, 26 Apr 2024 09:42:03 -0400 Subject: [PATCH 1/2] Validate clickhouse results in ReplicatedRMTDDLClickHouse22TIT --- .../ReplicatedRMTDDLClickHouse22TIT.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ReplicatedRMTDDLClickHouse22TIT.java b/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ReplicatedRMTDDLClickHouse22TIT.java index 1821458a5..dcb7bab50 100644 --- a/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ReplicatedRMTDDLClickHouse22TIT.java +++ b/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ReplicatedRMTDDLClickHouse22TIT.java @@ -149,10 +149,19 @@ public void testReplicatedRMTAutoCreate(String clickHouseServerVersion) throws E " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 "); Thread.sleep(10000); -// -// while(true) { -// ; -// } + + // Verify on ClickHouse if the table is created. + rs = writer.executeQueryWithResultSet("show create table l1"); + // Validate that all the tables are created. + resultValidated = false; + while(rs.next()) { + resultValidated = true; + String createTableDML = rs.getString(1); + System.out.println(createTableDML); + assert(createTableDML.contains("ReplicatedReplacingMergeTree")); + } + Assert.assertTrue(resultValidated); + if(engine.get() != null) { engine.get().stop(); } From 52186ecde2d6ac90c0d0568221292122a27077d3 Mon Sep 17 00:00:00 2001 From: Kanthi Subramanian Date: Fri, 26 Apr 2024 09:44:52 -0400 Subject: [PATCH 2/2] Enable postgres Integration tests --- ...eziumEmbeddedPostgresPgoutputDockerIT.java | 63 +++++++++---------- .../embedded/PostgresInitialDockerIT.java | 1 - 2 files changed, 30 insertions(+), 34 deletions(-) diff --git a/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ClickHouseDebeziumEmbeddedPostgresPgoutputDockerIT.java b/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ClickHouseDebeziumEmbeddedPostgresPgoutputDockerIT.java index 20609ee0d..d09e6da0c 100644 --- a/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ClickHouseDebeziumEmbeddedPostgresPgoutputDockerIT.java +++ b/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/ClickHouseDebeziumEmbeddedPostgresPgoutputDockerIT.java @@ -30,7 +30,7 @@ /** * This is a test for "plugin.name", "pgoutput" */ -@Disabled + public class ClickHouseDebeziumEmbeddedPostgresPgoutputDockerIT { @Container @@ -68,7 +68,6 @@ public Properties getProperties() throws Exception { } @Test - @Disabled @DisplayName("Integration Test - Validates PostgreSQL replication when the plugin is set to PGOUTPUT") public void testPgOutputPlugin() throws Exception { Network network = Network.newNetwork(); @@ -94,38 +93,36 @@ public void testPgOutputPlugin() throws Exception { Thread.sleep(50000); - while(true) { - ; + + // Create connection. + String jdbcUrl = BaseDbWriter.getConnectionString(clickHouseContainer.getHost(), clickHouseContainer.getFirstMappedPort(), + "public"); + ClickHouseConnection conn = BaseDbWriter.createConnection(jdbcUrl, "Client_1", + clickHouseContainer.getUsername(), clickHouseContainer.getPassword(), new ClickHouseSinkConnectorConfig(new HashMap<>())); + + BaseDbWriter writer = new BaseDbWriter(clickHouseContainer.getHost(), clickHouseContainer.getFirstMappedPort(), + "public", clickHouseContainer.getUsername(), clickHouseContainer.getPassword(), null, conn); + Map tmColumns = writer.getColumnsDataTypesForTable("tm"); + Assert.assertTrue(tmColumns.size() == 22); + Assert.assertTrue(tmColumns.get("id").equalsIgnoreCase("UUID")); + Assert.assertTrue(tmColumns.get("secid").equalsIgnoreCase("Nullable(UUID)")); + //Assert.assertTrue(tmColumns.get("am").equalsIgnoreCase("Nullable(Decimal(21,5))")); + Assert.assertTrue(tmColumns.get("created").equalsIgnoreCase("Nullable(DateTime64(6))")); + + + int tmCount = 0; + ResultSet chRs = writer.getConnection().prepareStatement("select count(*) from tm").executeQuery(); + while(chRs.next()) { + tmCount = chRs.getInt(1); + } + + Assert.assertTrue(tmCount == 2); + + if(engine.get() != null) { + engine.get().stop(); } -// // Create connection. -// String jdbcUrl = BaseDbWriter.getConnectionString(clickHouseContainer.getHost(), clickHouseContainer.getFirstMappedPort(), -// "public"); -// ClickHouseConnection conn = BaseDbWriter.createConnection(jdbcUrl, "Client_1", -// clickHouseContainer.getUsername(), clickHouseContainer.getPassword(), new ClickHouseSinkConnectorConfig(new HashMap<>())); -// -// BaseDbWriter writer = new BaseDbWriter(clickHouseContainer.getHost(), clickHouseContainer.getFirstMappedPort(), -// "public", clickHouseContainer.getUsername(), clickHouseContainer.getPassword(), null, conn); -// Map tmColumns = writer.getColumnsDataTypesForTable("tm"); -// Assert.assertTrue(tmColumns.size() == 22); -// Assert.assertTrue(tmColumns.get("id").equalsIgnoreCase("UUID")); -// Assert.assertTrue(tmColumns.get("secid").equalsIgnoreCase("Nullable(UUID)")); -// //Assert.assertTrue(tmColumns.get("am").equalsIgnoreCase("Nullable(Decimal(21,5))")); -// Assert.assertTrue(tmColumns.get("created").equalsIgnoreCase("Nullable(DateTime64(6))")); -// -// -// int tmCount = 0; -// ResultSet chRs = writer.getConnection().prepareStatement("select count(*) from tm").executeQuery(); -// while(chRs.next()) { -// tmCount = chRs.getInt(1); -// } -// -// Assert.assertTrue(tmCount == 2); -// -// if(engine.get() != null) { -// engine.get().stop(); -// } -// // Files.deleteIfExists(tmpFilePath); -// executorService.shutdown(); + // Files.deleteIfExists(tmpFilePath); + executorService.shutdown(); } } diff --git a/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/PostgresInitialDockerIT.java b/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/PostgresInitialDockerIT.java index 25961fe20..fddcff5ca 100644 --- a/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/PostgresInitialDockerIT.java +++ b/sink-connector-lightweight/src/test/java/com/altinity/clickhouse/debezium/embedded/PostgresInitialDockerIT.java @@ -27,7 +27,6 @@ import static com.altinity.clickhouse.debezium.embedded.PostgresProperties.getDefaultProperties; -@Disabled public class PostgresInitialDockerIT { @Container