Class AbstractJdbcSinkTest

java.lang.Object
io.debezium.connector.jdbc.integration.AbstractJdbcSinkTest
Direct Known Subclasses:
AbstractJdbcSinkDeleteEnabledTest, AbstractJdbcSinkInsertModeTest, AbstractJdbcSinkPrimaryKeyModeTest, AbstractJdbcSinkSaveConvertedCloudEventTest, AbstractJdbcSinkSchemaEvolutionTest, JdbcSinkColumnTypeMappingIT, JdbcSinkColumnTypeMappingIT, JdbcSinkColumnTypeMappingIT, JdbcSinkFieldFilterIT

public abstract class AbstractJdbcSinkTest extends Object
Abstract JDBC Sink Connector integration test.
Author:
Chris Cranford
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • sink

      private final Sink sink
    • randomTableNameGenerator

      private final RandomTableNameGenerator randomTableNameGenerator
    • tableNamingStrategy

      private final io.debezium.connector.jdbc.naming.TableNamingStrategy tableNamingStrategy
    • sinkConnector

      private io.debezium.connector.jdbc.JdbcSinkConnector sinkConnector
    • sinkTask

      private org.apache.kafka.connect.sink.SinkTask sinkTask
    • dataSource

      private DataSource dataSource
  • Constructor Details

    • AbstractJdbcSinkTest

      public AbstractJdbcSinkTest(Sink sink)
  • Method Details

    • afterEach

      @AfterEach public void afterEach()
    • getSink

      protected Sink getSink()
    • getDefaultSinkConfig

      protected Map<String,String> getDefaultSinkConfig()
      Returns the default, basic sink connector configuration to talk to the database instance that was started by the TestContainers framework.
    • getConfig

      protected Map<String,String> getConfig(Map<String,String> properties)
    • dataSource

      protected DataSource dataSource()
      Returns a DataSource to access the sink connector's database instance started by the TestContainers framework.
    • startSinkConnector

      protected void startSinkConnector(Map<String,String> properties)
      Start the sink connector with the provided properties
      Parameters:
      properties - the sink connector's configuration properties
    • stopSinkConnector

      protected void stopSinkConnector()
      Stops the sink connector.
    • consume

      protected void consume(org.apache.kafka.connect.sink.SinkRecord record)
      Consumes the provided SinkRecord by the JDBC sink connector task.
    • consume

      protected void consume(List<org.apache.kafka.connect.sink.SinkRecord> records)
      Consumes the provided collection of SinkRecord by the JDBC sink connector task.
    • randomTableName

      protected String randomTableName()
      Returns a random table name that can be used by the test.
    • destinationTableName

      protected String destinationTableName(org.apache.kafka.connect.sink.SinkRecord record)
    • topicName

      protected String topicName(String prefix, String schemaName, String tableName)
      Returns a constructed topic name based on the prefix, schema, and table names.
    • assertSinkConnectorIsRunning

      protected void assertSinkConnectorIsRunning()