private void assertRecord(Struct record, List<SchemaAndValueField> expected) { expected.forEach(schemaAndValueField -> schemaAndValueField.assertFor(record)); } }
public void assertFor(Struct content) { assertSchema(content); assertValue(content); }
final SourceRecord recordB = tableB.get(i); final List<SchemaAndValueField> expectedRowB = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i + ID_START), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "b")); final SourceRecord recordB = tableB.get(i + RECORDS_PER_TABLE); final List<SchemaAndValueField> expectedBefore = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i + ID_START), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "b")); final List<SchemaAndValueField> expectedAfter = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i + ID_START), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "z"));
if (!valueList.isEmpty() && valueList.iterator().next() instanceof Struct) { for (int i = 0; i < valueList.size(); i++) { assertStruct((Struct)valueList.get(i), (Struct)actualValueList.get(i)); assertStruct((Struct)value, (Struct)actualValue);
final SourceRecord record1 = user.get(i); final List<SchemaAndValueField> expectedKey1 = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i) ); final List<SchemaAndValueField> expectedRow1 = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i), new SchemaAndValueField("name", Schema.OPTIONAL_STRING_SCHEMA, "name" + i) );
private void assertStruct(final Struct expectedStruct, final Struct actualStruct) { expectedStruct.schema().fields().stream().forEach(field -> { final Object expectedValue = expectedStruct.get(field); if (expectedValue == null) { Assertions.assertThat(actualStruct.get(field.name())).as(fieldName + " is present in the actual content").isNull(); return; } final Object actualValue = actualStruct.get(field.name()); Assertions.assertThat(actualValue).as("No value found for " + fieldName).isNotNull(); Assertions.assertThat(actualValue.getClass()).as("Incorrect value type for " + fieldName).isEqualTo(expectedValue.getClass()); if (actualValue instanceof byte[]) { Assertions.assertThat(expectedValue).as("Array is not expected for " + fieldName).isInstanceOf(byte[].class); Assertions.assertThat((byte[]) actualValue).as("Values don't match for " + fieldName).isEqualTo((byte[]) expectedValue); } else if (actualValue instanceof Struct) { assertStruct((Struct)expectedValue, (Struct)actualValue); } else { Assertions.assertThat(actualValue).as("Values don't match for " + fieldName).isEqualTo(expectedValue); } }); }
private void assertRecord(Struct record, List<SchemaAndValueField> expected) { expected.forEach(schemaAndValueField -> schemaAndValueField.assertFor(record)); } }
final SourceRecord recordB = tableB.get(i); final List<SchemaAndValueField> expectedRowA = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i + ID_START), new SchemaAndValueField("cola", Schema.OPTIONAL_STRING_SCHEMA, "a")); final List<SchemaAndValueField> expectedRowB = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i + ID_START), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "b")); final SourceRecord tombstoneRecord = deleteTableB.get(i * 2 + 1); final List<SchemaAndValueField> expectedDeleteRow = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, i + ID_START), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "b"));
private void assertRecord(Struct record, List<SchemaAndValueField> expected) { expected.forEach(schemaAndValueField -> schemaAndValueField.assertFor(record)); } }
final SourceRecord recordB = tableB.get(i); final List<SchemaAndValueField> expectedRowA = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, id), new SchemaAndValueField("cola", Schema.OPTIONAL_STRING_SCHEMA, "a")); final List<SchemaAndValueField> expectedRowB = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, id), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "b"));
private void assertRecord(Struct record, List<SchemaAndValueField> expected) { expected.forEach(schemaAndValueField -> schemaAndValueField.assertFor(record)); } }
final SourceRecord recordB = tableB.get(i); final List<SchemaAndValueField> expectedRowA = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, id), new SchemaAndValueField("cola", Schema.OPTIONAL_STRING_SCHEMA, "a")); final List<SchemaAndValueField> expectedRowB = Arrays.asList( new SchemaAndValueField("id", Schema.INT32_SCHEMA, id), new SchemaAndValueField("colb", Schema.OPTIONAL_STRING_SCHEMA, "b"));