Package io.debezium.connector.sqlserver
Class IncrementalSnapshotCollationSortOrderMismatchIT
java.lang.Object
io.debezium.embedded.AbstractConnectorTest
io.debezium.embedded.async.AbstractAsyncEngineConnectorTest
io.debezium.pipeline.source.snapshot.incremental.AbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
io.debezium.connector.sqlserver.IncrementalSnapshotCollationSortOrderMismatchIT
- All Implemented Interfaces:
Testing
public class IncrementalSnapshotCollationSortOrderMismatchIT
extends AbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
Tests for DBZ-7359
-
Nested Class Summary
Nested classes/interfaces inherited from class io.debezium.embedded.AbstractConnectorTest
AbstractConnectorTest.SourceRecordsNested classes/interfaces inherited from interface io.debezium.util.Testing
Testing.Debug, Testing.Files, Testing.InterruptableFunction, Testing.Network, Testing.Print, Testing.Timer -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate io.debezium.connector.sqlserver.SqlServerConnectionprivate booleanprivate static final intprivate static final StringFields inherited from class io.debezium.pipeline.source.snapshot.incremental.AbstractSnapshotTest
PARTITION_NO, ROW_COUNT, SCHEMA_HISTORY_PATH, SERVER_NAMEFields inherited from class io.debezium.embedded.AbstractConnectorTest
consumedLines, engine, isEngineRunning, logger, logTestName, OFFSET_STORE_PATH, pollTimeoutInMs, skipTestRule -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidprotected Configuration.Builderconfig()protected Stringprotected Class<io.debezium.connector.sqlserver.SqlServerConnector>protected <P,V> Map<P, V> consumeIncrementalSnapshot(int recordCount, Predicate<Map.Entry<P, V>> dataCompleted, Function<org.apache.kafka.connect.data.Struct, P> pkConverter, Function<org.apache.kafka.connect.source.SourceRecord, V> valueConverter, String topicName, Consumer<List<org.apache.kafka.connect.source.SourceRecord>> recordConsumer, boolean assertRecords) protected JdbcConnectionprotected Configuration.BuildermutableConfig(boolean signalTableOnly, boolean storeOnlyCapturedDdl) voidvoidvoidvoidprotected voidorderMismatchPkNtypeValueNvarchar(boolean isSendStringParametersAsUnicode, int expectedRecordCount, String pkDataType) voidvoidprotected voidorderMismatchPkTypecharValueInt(boolean isSendStringParametersAsUnicode, int expectedRecordCount, String pkDataType) voidvoidprotected voidorderMismatchPkVarcharValueNvarchar(boolean isSendStringParametersAsUnicode, int expectedRecordCount) voidvoidprotected voidpopulateTable(io.debezium.connector.sqlserver.SqlServerConnection connection, BiFunction<String, Integer, String> pkInsValFn, BiFunction<String, Integer, String> valueInsValFn) protected <P,V> void runTest(boolean isSendStringParametersAsUnicode, int expectedRecordCount, String pkDataType, BiFunction<String, Integer, String> pkInsValFn, Function<org.apache.kafka.connect.data.Struct, P> pkConverter, String valueDataType, BiFunction<String, Integer, String> valueInsValFn, Function<org.apache.kafka.connect.source.SourceRecord, V> valueConverter, Predicate<Map<P, V>> validateDbChanges) protected Stringserver()protected Stringprotected Stringprotected <P,V> void testIncrementalSnapshotConsumed(int expectedRecordCount, Function<org.apache.kafka.connect.data.Struct, P> pkConverter, Function<org.apache.kafka.connect.source.SourceRecord, V> valueConverter, Predicate<Map<P, V>> validateDbChanges) protected StringMethods inherited from class io.debezium.pipeline.source.snapshot.incremental.AbstractSnapshotTest
alterTableAddColumnStatement, alterTableDropColumnStatement, consumeMixedWithIncrementalSnapshot, consumeMixedWithIncrementalSnapshot, consumeMixedWithIncrementalSnapshot, consumeMixedWithIncrementalSnapshot, consumeMixedWithIncrementalSnapshot, consumeMixedWithIncrementalSnapshot, consumeRecordsMixedWithIncrementalSnapshot, consumeRecordsMixedWithIncrementalSnapshot, database, getMaximumEnqueuedRecordCount, getRecordValue, pkFieldName, populate4PkTable, populateTable, populateTable, populateTable, populateTable, populateTables, populateTables, populateTableWithSpecificValue, sendAdHocSnapshotSignal, sendAdHocSnapshotSignalWithAdditionalConditionsWithSurrogateKey, sendAdHocSnapshotSignalWithAdditionalConditionsWithSurrogateKey, sendAdHocSnapshotSignalWithAdditionalConditionWithSurrogateKey, sendAdHocSnapshotSignalWithAdditionalConditionWithSurrogateKey, signalTableNameSanitized, startConnector, startConnector, startConnector, startConnector, startConnectorWithSnapshot, tableDataCollectionId, tableDataCollectionIds, task, valueFieldName, waitForCdcTransactionPropagation, waitForConnectorToStartMethods inherited from class io.debezium.embedded.async.AbstractAsyncEngineConnectorTest
createEngine, createEngineBuilderMethods inherited from class io.debezium.embedded.AbstractConnectorTest
assertBeginTransaction, assertConfigurationErrors, assertConfigurationErrors, assertConfigurationErrors, assertConnectorIsRunning, assertConnectorNotRunning, assertDelete, assertEndTransaction, assertEngineIsRunning, assertHasNoSourceQuery, assertInsert, assertKey, assertNoConfigurationErrors, assertNoRecordsToConsume, assertOffset, assertOffset, assertOnlyTransactionRecordsToConsume, assertRecordTransactionMetadata, assertSchemaMatchesStruct, assertSchemaMatchesStruct, assertSourceQuery, assertTombstone, assertTombstone, assertUpdate, assertValueField, configValue, consumeAvailableRecords, consumeAvailableRecordsByTopic, consumeDmlRecordsByTopic, consumeDmlRecordsByTopic, consumeDmlRecordsByTopic, consumeRecord, consumeRecords, consumeRecords, consumeRecords, consumeRecordsButSkipUntil, consumeRecordsByTopic, consumeRecordsByTopic, consumeRecordsByTopic, consumeRecordsByTopicUntil, consumeRecordsUntil, debug, getConsumer, getSnapshotMetricsObjectName, getSnapshotMetricsObjectName, getSnapshotMetricsObjectName, getStreamingMetricsObjectName, getStreamingMetricsObjectName, getStreamingMetricsObjectName, getStreamingMetricsObjectName, getStreamingNamespace, initializeConnectorTestFramework, isStreamingRunning, isStreamingRunning, isStreamingRunning, isStreamingRunning, isTransactionRecord, loggingCompletion, print, readLastCommittedOffset, readLastCommittedOffsets, setConsumeTimeout, skipAvroValidation, start, start, start, start, start, start, start, startAndConsumeTillEnd, startAndConsumeTillEnd, stopConnector, stopConnector, storeOffsets, validate, waitForAvailableRecords, waitForConnectorShutdown, waitForEngineShutdown, waitForSnapshotToBeCompleted, waitForSnapshotToBeCompleted, waitForSnapshotWithCustomMetricsToBeCompleted, waitForStreamingRunning, waitForStreamingRunning, waitForStreamingRunning, waitForStreamingWithCustomMetricsToStart, waitTimeForEngine, waitTimeForRecords, waitTimeForRecordsAfterNulls
-
Field Details
-
POLLING_INTERVAL
private static final int POLLING_INTERVAL- See Also:
-
SQL_COLLATION
- See Also:
-
ALL_IDS
-
SKIPPED_IDS
-
connection
private io.debezium.connector.sqlserver.SqlServerConnection connection -
isSendStringParametersAsUnicode
private boolean isSendStringParametersAsUnicode
-
-
Constructor Details
-
IncrementalSnapshotCollationSortOrderMismatchIT
public IncrementalSnapshotCollationSortOrderMismatchIT()
-
-
Method Details
-
beforeClass
- Throws:
IOException
-
orderMismatchPkCharValueIntParamsAsUnicodeFalse
- Throws:
Exception
-
orderMismatchPkCharValueIntParamsAsUnicodeTrueSkip36
- Throws:
Exception
-
orderMismatchPkVarcharValueIntParamsAsUnicodeFalse
- Throws:
Exception
-
orderMismatchPkVarcharValueIntParamsAsUnicodeTrueSkip36
- Throws:
Exception
-
orderMismatchPkVarcharValueNvarcharParamsAsUnicodeFalse
- Throws:
Exception
-
orderMismatchPkVarcharValueNvarcharParamsAsUnicodeTrueSkip36
- Throws:
Exception
-
orderMismatchPkNcharValueNvarcharParamsAsUnicodeFalse
- Throws:
Exception
-
orderMismatchPkNcharValueNvarcharParamsAsUnicodeTrue
- Throws:
Exception
-
orderMismatchPkNvarcharValueNvarcharParamsAsUnicodeFalse
- Throws:
Exception
-
orderMismatchPkNvarcharValueNvarcharParamsAsUnicodeTrue
- Throws:
Exception
-
orderMismatchPkTypecharValueInt
protected void orderMismatchPkTypecharValueInt(boolean isSendStringParametersAsUnicode, int expectedRecordCount, String pkDataType) throws Exception - Throws:
Exception
-
orderMismatchPkVarcharValueNvarchar
protected void orderMismatchPkVarcharValueNvarchar(boolean isSendStringParametersAsUnicode, int expectedRecordCount) throws Exception - Throws:
Exception
-
orderMismatchPkNtypeValueNvarchar
protected void orderMismatchPkNtypeValueNvarchar(boolean isSendStringParametersAsUnicode, int expectedRecordCount, String pkDataType) throws Exception - Throws:
Exception
-
runTest
protected <P,V> void runTest(boolean isSendStringParametersAsUnicode, int expectedRecordCount, String pkDataType, BiFunction<String, Integer, throws ExceptionString> pkInsValFn, Function<org.apache.kafka.connect.data.Struct, P> pkConverter, String valueDataType, BiFunction<String, Integer, String> valueInsValFn, Function<org.apache.kafka.connect.source.SourceRecord, V> valueConverter, Predicate<Map<P, V>> validateDbChanges) - Throws:
Exception
-
populateTable
protected void populateTable(io.debezium.connector.sqlserver.SqlServerConnection connection, BiFunction<String, Integer, throws SQLExceptionString> pkInsValFn, BiFunction<String, Integer, String> valueInsValFn) - Throws:
SQLException
-
testIncrementalSnapshotConsumed
protected <P,V> void testIncrementalSnapshotConsumed(int expectedRecordCount, Function<org.apache.kafka.connect.data.Struct, P> pkConverter, Function<org.apache.kafka.connect.source.SourceRecord, throws InterruptedExceptionV> valueConverter, Predicate<Map<P, V>> validateDbChanges) - Throws:
InterruptedException
-
consumeIncrementalSnapshot
protected <P,V> Map<P,V> consumeIncrementalSnapshot(int recordCount, Predicate<Map.Entry<P, V>> dataCompleted, Function<org.apache.kafka.connect.data.Struct, throws InterruptedExceptionP> pkConverter, Function<org.apache.kafka.connect.source.SourceRecord, V> valueConverter, String topicName, Consumer<List<org.apache.kafka.connect.source.SourceRecord>> recordConsumer, boolean assertRecords) - Throws:
InterruptedException
-
connectorClass
- Specified by:
connectorClassin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
databaseConnection
- Specified by:
databaseConnectionin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
topicName
- Specified by:
topicNamein classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
tableName
- Specified by:
tableNamein classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
topicNames
- Specified by:
topicNamesin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
tableNames
- Specified by:
tableNamesin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
signalTableName
- Specified by:
signalTableNamein classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
config
- Specified by:
configin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
mutableConfig
protected Configuration.Builder mutableConfig(boolean signalTableOnly, boolean storeOnlyCapturedDdl) - Specified by:
mutableConfigin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
connector
- Specified by:
connectorin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-
server
- Specified by:
serverin classAbstractSnapshotTest<io.debezium.connector.sqlserver.SqlServerConnector>
-