DBZ-2868 move TestDatabase to debezium-testing-testcontainers project and rename to PostgresTestResourceLifecycleManager
This commit is contained in:
parent
a0ba33fddd
commit
0be379ab79
@ -17,6 +17,11 @@
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.debezium</groupId>
|
||||
<artifactId>debezium-testing-testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-smallrye-health</artifactId>
|
||||
|
@ -16,6 +16,7 @@
|
||||
|
||||
import io.debezium.server.events.ConnectorCompletedEvent;
|
||||
import io.debezium.server.events.ConnectorStartedEvent;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
import io.debezium.util.Testing;
|
||||
import io.quarkus.test.common.QuarkusTestResource;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
@ -26,7 +27,7 @@
|
||||
* @author Jiri Pechanec
|
||||
*/
|
||||
@QuarkusTest
|
||||
@QuarkusTestResource(TestDatabase.class)
|
||||
@QuarkusTestResource(PostgresTestResourceLifecycleManager.class)
|
||||
public class DebeziumServerIT {
|
||||
|
||||
private static final int MESSAGE_COUNT = 4;
|
||||
|
@ -12,6 +12,7 @@
|
||||
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
|
||||
import org.eclipse.microprofile.config.spi.ConfigSource;
|
||||
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
import io.debezium.util.Testing;
|
||||
|
||||
public class TestConfigSource implements ConfigSource {
|
||||
@ -31,11 +32,11 @@ public TestConfigSource() {
|
||||
integrationTest.put("debezium.source.connector.class", "io.debezium.connector.postgresql.PostgresConnector");
|
||||
integrationTest.put("debezium.source." + StandaloneConfig.OFFSET_STORAGE_FILE_FILENAME_CONFIG, OFFSET_STORE_PATH.toAbsolutePath().toString());
|
||||
integrationTest.put("debezium.source.offset.flush.interval.ms", "0");
|
||||
integrationTest.put("debezium.source.database.hostname", TestDatabase.POSTGRES_HOST);
|
||||
integrationTest.put("debezium.source.database.port", Integer.toString(TestDatabase.POSTGRES_PORT));
|
||||
integrationTest.put("debezium.source.database.user", TestDatabase.POSTGRES_USER);
|
||||
integrationTest.put("debezium.source.database.password", TestDatabase.POSTGRES_PASSWORD);
|
||||
integrationTest.put("debezium.source.database.dbname", TestDatabase.POSTGRES_DBNAME);
|
||||
integrationTest.put("debezium.source.database.hostname", PostgresTestResourceLifecycleManager.POSTGRES_HOST);
|
||||
integrationTest.put("debezium.source.database.port", Integer.toString(PostgresTestResourceLifecycleManager.POSTGRES_PORT));
|
||||
integrationTest.put("debezium.source.database.user", PostgresTestResourceLifecycleManager.POSTGRES_USER);
|
||||
integrationTest.put("debezium.source.database.password", PostgresTestResourceLifecycleManager.POSTGRES_PASSWORD);
|
||||
integrationTest.put("debezium.source.database.dbname", PostgresTestResourceLifecycleManager.POSTGRES_DBNAME);
|
||||
integrationTest.put("debezium.source.database.server.name", "testc");
|
||||
integrationTest.put("debezium.source.schema.include.list", "inventory");
|
||||
integrationTest.put("debezium.source.table.include.list", "inventory.customers");
|
||||
|
@ -33,6 +33,11 @@
|
||||
<artifactId>quarkus-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.debezium</groupId>
|
||||
<artifactId>debezium-testing-testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.easytesting</groupId>
|
||||
<artifactId>fest-assert</artifactId>
|
||||
|
@ -28,9 +28,9 @@
|
||||
import com.azure.messaging.eventhubs.models.PartitionEvent;
|
||||
|
||||
import io.debezium.server.DebeziumServer;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.server.events.ConnectorCompletedEvent;
|
||||
import io.debezium.server.events.ConnectorStartedEvent;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
import io.debezium.util.Testing;
|
||||
import io.quarkus.test.common.QuarkusTestResource;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
@ -42,7 +42,7 @@
|
||||
* @author Abhishek Gupta
|
||||
*/
|
||||
@QuarkusTest
|
||||
@QuarkusTestResource(TestDatabase.class)
|
||||
@QuarkusTestResource(PostgresTestResourceLifecycleManager.class)
|
||||
public class EventHubsIT {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(EventHubsIT.class);
|
||||
|
@ -11,7 +11,7 @@
|
||||
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
|
||||
|
||||
import io.debezium.server.TestConfigSource;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
|
||||
public class EventHubsTestConfigSource extends TestConfigSource {
|
||||
|
||||
@ -34,11 +34,11 @@ public EventHubsTestConfigSource() {
|
||||
eventHubsTest.put("debezium.source." + StandaloneConfig.OFFSET_STORAGE_FILE_FILENAME_CONFIG,
|
||||
OFFSET_STORE_PATH.toAbsolutePath().toString());
|
||||
eventHubsTest.put("debezium.source.offset.flush.interval.ms", "0");
|
||||
eventHubsTest.put("debezium.source.database.hostname", TestDatabase.POSTGRES_HOST);
|
||||
eventHubsTest.put("debezium.source.database.port", Integer.toString(TestDatabase.POSTGRES_PORT));
|
||||
eventHubsTest.put("debezium.source.database.user", TestDatabase.POSTGRES_USER);
|
||||
eventHubsTest.put("debezium.source.database.password", TestDatabase.POSTGRES_PASSWORD);
|
||||
eventHubsTest.put("debezium.source.database.dbname", TestDatabase.POSTGRES_DBNAME);
|
||||
eventHubsTest.put("debezium.source.database.hostname", PostgresTestResourceLifecycleManager.POSTGRES_HOST);
|
||||
eventHubsTest.put("debezium.source.database.port", Integer.toString(PostgresTestResourceLifecycleManager.POSTGRES_PORT));
|
||||
eventHubsTest.put("debezium.source.database.user", PostgresTestResourceLifecycleManager.POSTGRES_USER);
|
||||
eventHubsTest.put("debezium.source.database.password", PostgresTestResourceLifecycleManager.POSTGRES_PASSWORD);
|
||||
eventHubsTest.put("debezium.source.database.dbname", PostgresTestResourceLifecycleManager.POSTGRES_DBNAME);
|
||||
eventHubsTest.put("debezium.source.database.server.name", "testc");
|
||||
eventHubsTest.put("debezium.source.schema.include.list", "inventory");
|
||||
eventHubsTest.put("debezium.source.table.include.list", "inventory.customers");
|
||||
|
@ -33,6 +33,11 @@
|
||||
<artifactId>quarkus-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.debezium</groupId>
|
||||
<artifactId>debezium-testing-testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.easytesting</groupId>
|
||||
<artifactId>fest-assert</artifactId>
|
||||
|
@ -16,9 +16,9 @@
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import io.debezium.server.DebeziumServer;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.server.events.ConnectorCompletedEvent;
|
||||
import io.debezium.server.events.ConnectorStartedEvent;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
import io.debezium.util.Testing;
|
||||
import io.quarkus.test.common.QuarkusTestResource;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
@ -39,7 +39,7 @@
|
||||
* @author Jiri Pechanec
|
||||
*/
|
||||
@QuarkusTest
|
||||
@QuarkusTestResource(TestDatabase.class)
|
||||
@QuarkusTestResource(PostgresTestResourceLifecycleManager.class)
|
||||
public class KinesisIT {
|
||||
|
||||
private static final int MESSAGE_COUNT = 4;
|
||||
|
@ -11,7 +11,7 @@
|
||||
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
|
||||
|
||||
import io.debezium.server.TestConfigSource;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
|
||||
public class KinesisTestConfigSource extends TestConfigSource {
|
||||
|
||||
@ -25,11 +25,11 @@ public KinesisTestConfigSource() {
|
||||
kinesisTest.put("debezium.source.connector.class", "io.debezium.connector.postgresql.PostgresConnector");
|
||||
kinesisTest.put("debezium.source." + StandaloneConfig.OFFSET_STORAGE_FILE_FILENAME_CONFIG, OFFSET_STORE_PATH.toAbsolutePath().toString());
|
||||
kinesisTest.put("debezium.source.offset.flush.interval.ms", "0");
|
||||
kinesisTest.put("debezium.source.database.hostname", TestDatabase.POSTGRES_HOST);
|
||||
kinesisTest.put("debezium.source.database.port", Integer.toString(TestDatabase.POSTGRES_PORT));
|
||||
kinesisTest.put("debezium.source.database.user", TestDatabase.POSTGRES_USER);
|
||||
kinesisTest.put("debezium.source.database.password", TestDatabase.POSTGRES_PASSWORD);
|
||||
kinesisTest.put("debezium.source.database.dbname", TestDatabase.POSTGRES_DBNAME);
|
||||
kinesisTest.put("debezium.source.database.hostname", PostgresTestResourceLifecycleManager.POSTGRES_HOST);
|
||||
kinesisTest.put("debezium.source.database.port", Integer.toString(PostgresTestResourceLifecycleManager.POSTGRES_PORT));
|
||||
kinesisTest.put("debezium.source.database.user", PostgresTestResourceLifecycleManager.POSTGRES_USER);
|
||||
kinesisTest.put("debezium.source.database.password", PostgresTestResourceLifecycleManager.POSTGRES_PASSWORD);
|
||||
kinesisTest.put("debezium.source.database.dbname", PostgresTestResourceLifecycleManager.POSTGRES_DBNAME);
|
||||
kinesisTest.put("debezium.source.database.server.name", "testc");
|
||||
kinesisTest.put("debezium.source.schema.include.list", "inventory");
|
||||
kinesisTest.put("debezium.source.table.include.list", "inventory.customers");
|
||||
|
@ -37,6 +37,11 @@
|
||||
<artifactId>quarkus-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.debezium</groupId>
|
||||
<artifactId>debezium-testing-testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.easytesting</groupId>
|
||||
<artifactId>fest-assert</artifactId>
|
||||
|
@ -31,9 +31,9 @@
|
||||
|
||||
import io.debezium.server.DebeziumServer;
|
||||
import io.debezium.server.TestConfigSource;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.server.events.ConnectorCompletedEvent;
|
||||
import io.debezium.server.events.ConnectorStartedEvent;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
import io.debezium.util.Testing;
|
||||
import io.quarkus.test.common.QuarkusTestResource;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
@ -44,7 +44,7 @@
|
||||
* @author Jiri Pechanec
|
||||
*/
|
||||
@QuarkusTest
|
||||
@QuarkusTestResource(TestDatabase.class)
|
||||
@QuarkusTestResource(PostgresTestResourceLifecycleManager.class)
|
||||
public class PubSubIT {
|
||||
|
||||
private static final int MESSAGE_COUNT = 4;
|
||||
|
@ -11,7 +11,7 @@
|
||||
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
|
||||
|
||||
import io.debezium.server.TestConfigSource;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
|
||||
public class PubSubTestConfigSource extends TestConfigSource {
|
||||
|
||||
@ -23,11 +23,11 @@ public PubSubTestConfigSource() {
|
||||
pubsubTest.put("debezium.source." + StandaloneConfig.OFFSET_STORAGE_FILE_FILENAME_CONFIG,
|
||||
OFFSET_STORE_PATH.toAbsolutePath().toString());
|
||||
pubsubTest.put("debezium.source.offset.flush.interval.ms", "0");
|
||||
pubsubTest.put("debezium.source.database.hostname", TestDatabase.POSTGRES_HOST);
|
||||
pubsubTest.put("debezium.source.database.port", Integer.toString(TestDatabase.POSTGRES_PORT));
|
||||
pubsubTest.put("debezium.source.database.user", TestDatabase.POSTGRES_USER);
|
||||
pubsubTest.put("debezium.source.database.password", TestDatabase.POSTGRES_PASSWORD);
|
||||
pubsubTest.put("debezium.source.database.dbname", TestDatabase.POSTGRES_DBNAME);
|
||||
pubsubTest.put("debezium.source.database.hostname", PostgresTestResourceLifecycleManager.POSTGRES_HOST);
|
||||
pubsubTest.put("debezium.source.database.port", Integer.toString(PostgresTestResourceLifecycleManager.POSTGRES_PORT));
|
||||
pubsubTest.put("debezium.source.database.user", PostgresTestResourceLifecycleManager.POSTGRES_USER);
|
||||
pubsubTest.put("debezium.source.database.password", PostgresTestResourceLifecycleManager.POSTGRES_PASSWORD);
|
||||
pubsubTest.put("debezium.source.database.dbname", PostgresTestResourceLifecycleManager.POSTGRES_DBNAME);
|
||||
pubsubTest.put("debezium.source.database.server.name", "testc");
|
||||
pubsubTest.put("debezium.source.schema.include.list", "inventory");
|
||||
pubsubTest.put("debezium.source.table.include.list", "inventory.customers");
|
||||
|
@ -34,6 +34,11 @@
|
||||
<artifactId>quarkus-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.debezium</groupId>
|
||||
<artifactId>debezium-testing-testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.easytesting</groupId>
|
||||
<artifactId>fest-assert</artifactId>
|
||||
|
@ -23,9 +23,9 @@
|
||||
|
||||
import io.debezium.server.DebeziumServer;
|
||||
import io.debezium.server.TestConfigSource;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.server.events.ConnectorCompletedEvent;
|
||||
import io.debezium.server.events.ConnectorStartedEvent;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
import io.debezium.util.Testing;
|
||||
import io.quarkus.test.common.QuarkusTestResource;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
@ -36,7 +36,7 @@
|
||||
* @author Jiri Pechanec
|
||||
*/
|
||||
@QuarkusTest
|
||||
@QuarkusTestResource(TestDatabase.class)
|
||||
@QuarkusTestResource(PostgresTestResourceLifecycleManager.class)
|
||||
public class PulsarIT {
|
||||
|
||||
private static final int MESSAGE_COUNT = 4;
|
||||
|
@ -11,7 +11,7 @@
|
||||
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
|
||||
|
||||
import io.debezium.server.TestConfigSource;
|
||||
import io.debezium.server.TestDatabase;
|
||||
import io.debezium.testing.testcontainers.PostgresTestResourceLifecycleManager;
|
||||
|
||||
public class PulsarTestConfigSource extends TestConfigSource {
|
||||
|
||||
@ -24,11 +24,11 @@ public PulsarTestConfigSource() {
|
||||
pulsarTest.put("debezium.source." + StandaloneConfig.OFFSET_STORAGE_FILE_FILENAME_CONFIG,
|
||||
OFFSET_STORE_PATH.toAbsolutePath().toString());
|
||||
pulsarTest.put("debezium.source.offset.flush.interval.ms", "0");
|
||||
pulsarTest.put("debezium.source.database.hostname", TestDatabase.POSTGRES_HOST);
|
||||
pulsarTest.put("debezium.source.database.port", Integer.toString(TestDatabase.POSTGRES_PORT));
|
||||
pulsarTest.put("debezium.source.database.user", TestDatabase.POSTGRES_USER);
|
||||
pulsarTest.put("debezium.source.database.password", TestDatabase.POSTGRES_PASSWORD);
|
||||
pulsarTest.put("debezium.source.database.dbname", TestDatabase.POSTGRES_DBNAME);
|
||||
pulsarTest.put("debezium.source.database.hostname", PostgresTestResourceLifecycleManager.POSTGRES_HOST);
|
||||
pulsarTest.put("debezium.source.database.port", Integer.toString(PostgresTestResourceLifecycleManager.POSTGRES_PORT));
|
||||
pulsarTest.put("debezium.source.database.user", PostgresTestResourceLifecycleManager.POSTGRES_USER);
|
||||
pulsarTest.put("debezium.source.database.password", PostgresTestResourceLifecycleManager.POSTGRES_PASSWORD);
|
||||
pulsarTest.put("debezium.source.database.dbname", PostgresTestResourceLifecycleManager.POSTGRES_DBNAME);
|
||||
pulsarTest.put("debezium.source.database.server.name", "testc");
|
||||
pulsarTest.put("debezium.source.schema.include.list", "inventory");
|
||||
pulsarTest.put("debezium.source.table.include.list", "inventory.customers");
|
||||
|
@ -93,6 +93,12 @@
|
||||
<artifactId>azure-messaging-eventhubs</artifactId>
|
||||
<version>${version.eventhubs}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.debezium</groupId>
|
||||
<artifactId>debezium-testing-testcontainers</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
@ -85,5 +85,10 @@
|
||||
<artifactId>json-path</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-test-common</artifactId>
|
||||
<version>${quarkus.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
@ -3,13 +3,12 @@
|
||||
*
|
||||
* Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
package io.debezium.server;
|
||||
package io.debezium.testing.testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
|
||||
@ -18,7 +17,7 @@
|
||||
/**
|
||||
* @author Jiri Pechanec
|
||||
*/
|
||||
public class TestDatabase implements QuarkusTestResourceLifecycleManager {
|
||||
public class PostgresTestResourceLifecycleManager implements QuarkusTestResourceLifecycleManager {
|
||||
|
||||
public static final String POSTGRES_USER = "postgres";
|
||||
public static final String POSTGRES_PASSWORD = "postgres";
|
||||
@ -36,12 +35,8 @@ public class TestDatabase implements QuarkusTestResourceLifecycleManager {
|
||||
.withStartupTimeout(Duration.ofSeconds(30));
|
||||
|
||||
public Map<String, String> start() {
|
||||
try {
|
||||
container.start();
|
||||
}
|
||||
catch (Exception e) {
|
||||
Assertions.fail(e);
|
||||
}
|
||||
|
||||
Map<String, String> params = new ConcurrentHashMap<>();
|
||||
params.put("debezium.source.database.hostname", POSTGRES_HOST);
|
||||
params.put("debezium.source.database.port", container.getMappedPort(POSTGRES_PORT).toString());
|
Loading…
Reference in New Issue
Block a user