@Test public void checkPreconditions() { assertThat(c1).isNotNull(); assertThat(c2).isNotNull(); assertThat(c3).isNotNull(); assertThat(c4).isNotNull(); assertThat(c5).isNotNull(); assertThat(c6).isNotNull(); }
/** * Obtain an InputStream to a named resource on the given classpath. * * @param pathOnClasspath the path of the resource on the classpath * @param testClass the test class, used for accessing the class loader * @return the string representation */ public static InputStream readResourceAsStream(String pathOnClasspath, Class<?> testClass) { InputStream stream = testClass.getClassLoader().getResourceAsStream(pathOnClasspath); assertThat(stream).isNotNull(); return stream; }
@Test public void shouldParseStatementsWithQuotedIdentifiers() { parser.parse(readFile("ddl/mysql-quoted.ddl"), tables); Testing.print(tables); assertThat(tables.size()).isEqualTo(4); assertThat(listener.total()).isEqualTo(10); assertThat(tables.forTable("connector_test_ro", null, "products")).isNotNull(); assertThat(tables.forTable("connector_test_ro", null, "products_on_hand")).isNotNull(); assertThat(tables.forTable("connector_test_ro", null, "customers")).isNotNull(); assertThat(tables.forTable("connector_test_ro", null, "orders")).isNotNull(); }
/** * Verify that the given {@link SourceRecord} is a {@link Operation#READ READ} record. * * @param record the source record; may not be null */ public static void isValidRead(SourceRecord record) { assertThat(record.key()).isNotNull(); assertThat(record.keySchema()).isNotNull(); assertThat(record.valueSchema()).isNotNull(); Struct value = (Struct) record.value(); assertThat(value).isNotNull(); assertThat(value.getString(FieldName.OPERATION)).isEqualTo(Operation.READ.code()); assertThat(value.get(FieldName.AFTER)).isNotNull(); assertThat(value.get(FieldName.BEFORE)).isNull(); }
protected void assertEnumType( String content, String expression ) { DataType type = parser.parse(text(content), null); assertThat(type).isNotNull(); assertThat(type.jdbcType()).isEqualTo(Types.CHAR); assertThat(type.name()).isEqualTo("ENUM"); assertThat(type.length()).isEqualTo(-1); assertThat(type.expression()).isEqualTo(expression); }
@Test public void checkPreconditions() { assertThat(c1).isNotNull(); assertThat(c2).isNotNull(); assertThat(c3).isNotNull(); assertThat(c4).isNotNull(); }
/** * Verify that the given {@link SourceRecord} is a {@link Operation#UPDATE UPDATE} record. * * @param record the source record; may not be null */ public static void isValidUpdate(SourceRecord record, boolean keyExpected) { if (keyExpected) { assertThat(record.key()).isNotNull(); assertThat(record.keySchema()).isNotNull(); } else { assertThat(record.key()).isNull(); assertThat(record.keySchema()).isNull(); } assertThat(record.valueSchema()).isNotNull(); Struct value = (Struct) record.value(); assertThat(value).isNotNull(); assertThat(value.getString(FieldName.OPERATION)).isEqualTo(Operation.UPDATE.code()); assertThat(value.get(FieldName.AFTER)).isNotNull(); // assertThat(value.get(FieldName.BEFORE)).isNull(); // may be null }
protected String readFile(String classpathResource) { try (InputStream stream = getClass().getClassLoader().getResourceAsStream(classpathResource);) { assertThat(stream).isNotNull(); return IoUtil.read(stream); } catch (IOException e) { fail("Unable to read '" + classpathResource + "'"); } assert false : "should never get here"; return null; }
@Test public void shouldParseGrammarWithOneRequiredTokenAndLength() { pattern = parser.parse(TYPE, "BIT(L)"); assertThat(pattern).isNotNull(); type = pattern.match(text("BIT(3)")); assertThat(type.arrayDimensions()).isNull(); assertThat(type.length()).isEqualTo(3); assertThat(type.scale()).isEqualTo(-1); assertThat(type.name()).isEqualTo("BIT"); assertThat(type.expression()).isEqualTo("BIT(3)"); assertThat(type.jdbcType()).isEqualTo(TYPE); }
@Test public void shouldValidateConnectorConfigDef() { connector = new PostgresConnector(); ConfigDef configDef = connector.config(); assertThat(configDef).isNotNull(); PostgresConnectorConfig.ALL_FIELDS.forEach(this::validateFieldDef); }
/** * Verify that the given {@link SourceRecord} is a {@link Operation#CREATE INSERT/CREATE} record. * * @param record the source record; may not be null */ public static void isValidInsert(SourceRecord record, boolean keyExpected) { if (keyExpected) { assertThat(record.key()).isNotNull(); assertThat(record.keySchema()).isNotNull(); } else { assertThat(record.key()).isNull(); assertThat(record.keySchema()).isNull(); } assertThat(record.valueSchema()).isNotNull(); Struct value = (Struct) record.value(); assertThat(value).isNotNull(); assertThat(value.getString(FieldName.OPERATION)).isEqualTo(Operation.CREATE.code()); assertThat(value.get(FieldName.AFTER)).isNotNull(); assertThat(value.get(FieldName.BEFORE)).isNull(); }
protected String readFile(String classpathResource) { try (InputStream stream = getClass().getClassLoader().getResourceAsStream(classpathResource);) { assertThat(stream).isNotNull(); return IoUtil.read(stream); } catch (IOException e) { fail("Unable to read '" + classpathResource + "'"); } assert false : "should never get here"; return null; }
@Test public void shouldParseGrammarWithOptionalTokenLists() { pattern = parser.parse(TYPE, "TEXT [CHARACTER SET]"); assertThat(pattern).isNotNull(); type = pattern.match(text("TEXT CHARACTER SET")); assertThat(type.arrayDimensions()).isNull(); assertThat(type.length()).isEqualTo(-1); assertThat(type.scale()).isEqualTo(-1); assertThat(type.name()).isEqualTo("TEXT CHARACTER SET"); assertThat(type.expression()).isEqualTo("TEXT CHARACTER SET"); assertThat(type.jdbcType()).isEqualTo(TYPE); }
@Test public void shouldNotFindMatchingDataTypeIfInvalidOrIncomplete() { pattern = parser.parse(TYPE, "DECIMAL(3)"); assertThat(pattern).isNotNull(); type = pattern.match(text("DECIMAL(3")); assertThat(type).isNull(); }
/** * Verify that the given {@link SourceRecord} is a {@link Operation#DELETE DELETE} record. * * @param record the source record; may not be null */ public static void isValidDelete(SourceRecord record, boolean keyExpected) { if (keyExpected) { assertThat(record.key()).isNotNull(); assertThat(record.keySchema()).isNotNull(); } else { assertThat(record.key()).isNull(); assertThat(record.keySchema()).isNull(); } assertThat(record.valueSchema()).isNotNull(); Struct value = (Struct) record.value(); assertThat(value).isNotNull(); assertThat(value.getString(FieldName.OPERATION)).isEqualTo(Operation.DELETE.code()); assertThat(value.get(FieldName.BEFORE)).isNotNull(); assertThat(value.get(FieldName.AFTER)).isNull(); }
protected void assertCollectionExcluded(String fullyQualifiedCollectionName) { CollectionId id = CollectionId.parse("rs1." + fullyQualifiedCollectionName); assertThat(id).isNotNull(); assertThat(filters.collectionFilter().test(id)).isFalse(); }
@Test public void shouldTruncateStrings() { Configuration config = Configuration.create() .with("column.truncate.to.10.chars", fullyQualifiedNames.toUpperCase()) .build(); mappers = ColumnMappers.create(config); converter = mappers.mappingConverterFor(tableId, column); assertThat(converter).isNotNull(); assertThat(converter.convert("12345678901234567890").toString()).isEqualTo("1234567890"); assertThat(converter.convert("12345678901234567890").toString().length()).isEqualTo(10); assertThat(converter.convert("12345678901").toString()).isEqualTo("1234567890"); assertThat(converter.convert("12345678901").toString().length()).isEqualTo(10); assertThat(converter.convert("1234567890").toString()).isEqualTo("1234567890"); assertThat(converter.convert("1234567890").toString().length()).isEqualTo(10); assertThat(converter.convert("123456789").toString()).isEqualTo("123456789"); assertThat(converter.convert("123456789").toString().length()).isEqualTo(9); assertThat(converter.convert(null)).isNull(); // null values are unaltered }
@Test public void shouldAlwaysFindRecordMakerForCollection() { for (int i = 0; i != 100; ++i) { CollectionId id = new CollectionId("rs0", "dbA", "c" + i); RecordsForCollection records = recordMakers.forCollection(id); assertThat(records).isNotNull(); assertThat(records.collectionId()).isSameAs(id); } }
protected void assertTableIncluded(String fullyQualifiedTableName) { TableId tableId = TableId.parse(fullyQualifiedTableName); TableSchema tableSchema = mysql.schemaFor(tableId); assertThat(tableSchema).isNotNull(); assertThat(tableSchema.keySchema().name()).isEqualTo(SchemaNameAdjuster.validFullname(SERVER_NAME + "." + fullyQualifiedTableName + ".Key")); assertThat(tableSchema.valueSchema().name()).isEqualTo(SchemaNameAdjuster.validFullname(SERVER_NAME + "." + fullyQualifiedTableName + ".Value")); }
protected void assertCollectionIncluded(String fullyQualifiedCollectionName) { CollectionId id = CollectionId.parse("rs1." + fullyQualifiedCollectionName); assertThat(id).isNotNull(); assertThat(filters.collectionFilter().test(id)).isTrue(); }