@Test public void testUnwrapCreateRecord() { try (final UnwrapFromEnvelope<SourceRecord> transform = new UnwrapFromEnvelope<>()) { final Map<String, String> props = new HashMap<>(); transform.configure(props); final SourceRecord createRecord = createCreateRecord(); final SourceRecord unwrapped = transform.apply(createRecord); assertThat(((Struct)unwrapped.value()).getInt8("id")).isEqualTo((byte) 1); } }
@Test @FixFor("DBZ-971") public void testUnwrapPropagatesRecordHeaders() { try (final UnwrapFromEnvelope<SourceRecord> transform = new UnwrapFromEnvelope<>()) { final Map<String, String> props = new HashMap<>(); transform.configure(props); final SourceRecord createRecord = createCreateRecord(); createRecord.headers().addString("application/debezium-test-header", "shouldPropagatePreviousRecordHeaders"); final SourceRecord unwrapped = transform.apply(createRecord); assertThat(((Struct)unwrapped.value()).getInt8("id")).isEqualTo((byte) 1); assertThat(unwrapped.headers()).hasSize(1); Iterator<Header> headers = unwrapped.headers().allWithName("application/debezium-test-header"); assertThat(headers.hasNext()).isTrue(); assertThat(headers.next().value().toString()).isEqualTo("shouldPropagatePreviousRecordHeaders"); } } }
assertThat(c2[0]).isEqualTo((byte) 2); assertThat(c3[0]).isEqualTo((byte) 64); assertThat(c4[0]).isEqualTo((byte) 219); // 11011011 assertThat(c4[1]).isEqualTo((byte) 14); // 00001110 assertThat(c4[2]).isEqualTo((byte) 110); // 01101110 assertThat(c4[3]).isEqualTo((byte) 1); // 1 assertThat(c4[4]).isEqualTo((byte) 0); assertThat(c4[5]).isEqualTo((byte) 0); assertThat(c4[6]).isEqualTo((byte) 0); assertThat(c4[7]).isEqualTo((byte) 0); } else if (record.topic().endsWith("dbz_147_decimalvalues")) { Struct after = value.getStruct(Envelope.FieldName.AFTER);
assertThat(c2[0]).isEqualTo((byte) 2); assertThat(c3[0]).isEqualTo((byte) 64); assertThat(c4[0]).isEqualTo((byte) 219); // 11011011 assertThat(c4[1]).isEqualTo((byte) 14); // 00001110 assertThat(c4[2]).isEqualTo((byte) 110); // 01101110 assertThat(c4[3]).isEqualTo((byte) 1); // 1 assertThat(c4[4]).isEqualTo((byte) 0); assertThat(c4[5]).isEqualTo((byte) 0); assertThat(c4[6]).isEqualTo((byte) 0); assertThat(c4[7]).isEqualTo((byte) 0); } else if (record.topic().endsWith("dbz_147_decimalvalues")) { Struct after = value.getStruct(Envelope.FieldName.AFTER);