@Test public void testDefaultSchemaHeaderNames() { testSchemaHeaderNames(KafkaAvroSerde.DEFAULT_KEY_SCHEMA_VERSION_ID, KafkaAvroSerde.DEFAULT_VALUE_SCHEMA_VERSION_ID); }
@Test public void testSpecificSerializedSpecificDeserialized() { Map<String, Object> config = new HashMap<>(); config.put(AvroSnapshotDeserializer.SPECIFIC_AVRO_READER, true); KafkaAvroDeserializer kafkaAvroDeserializer = new KafkaAvroDeserializer(schemaRegistryClient); kafkaAvroDeserializer.configure(config, false); KafkaAvroSerializer kafkaAvroSerializer = new KafkaAvroSerializer(schemaRegistryClient); kafkaAvroSerializer.configure(Collections.emptyMap(), false); TestRecord record = new TestRecord(); record.setField1("some value"); record.setField1("some other value"); byte[] bytes = kafkaAvroSerializer.serialize(topic, record); Object o = kafkaAvroDeserializer.deserialize(topic, bytes); checkSpecificSerializedSpecificDeserializedEquals(record, o); Headers headers = new RecordHeaders(); bytes = kafkaAvroSerializer.serialize(topic, headers, record); o = kafkaAvroDeserializer.deserialize(topic, headers, bytes); checkSpecificSerializedSpecificDeserializedEquals(record, o); }
@Test public void testGenericSerializedSpecificDeserialized() { Map<String, Object> config = new HashMap<>(); config.put(AvroSnapshotDeserializer.SPECIFIC_AVRO_READER, true); KafkaAvroDeserializer kafkaAvroDeserializer = new KafkaAvroDeserializer(schemaRegistryClient); kafkaAvroDeserializer.configure(config, false); KafkaAvroSerializer kafkaAvroSerializer = new KafkaAvroSerializer(schemaRegistryClient); kafkaAvroSerializer.configure(Collections.emptyMap(), false); GenericRecord record = new GenericRecordBuilder(schema).set("field1", "some value").set("field2", "some other value").build(); byte[] payload = kafkaAvroSerializer.serialize(topic, record); Object o = kafkaAvroDeserializer.deserialize(topic, payload); checkGenericSerializedSpecificDeserializedEquals(record, o); Headers headers = new RecordHeaders(); payload = kafkaAvroSerializer.serialize(topic, headers, record); o = kafkaAvroDeserializer.deserialize(topic, headers, payload); checkGenericSerializedSpecificDeserializedEquals(record, o); }
@Test public void testSpecificSerializedGenericDeserialized() { Map<String, Object> config = new HashMap<>(); config.put(AvroSnapshotDeserializer.SPECIFIC_AVRO_READER, false); KafkaAvroDeserializer kafkaAvroDeserializer = new KafkaAvroDeserializer(schemaRegistryClient); kafkaAvroDeserializer.configure(config, false); KafkaAvroSerializer kafkaAvroSerializer = new KafkaAvroSerializer(schemaRegistryClient); kafkaAvroSerializer.configure(config, false); TestRecord record = new TestRecord(); record.setField1("some value"); record.setField1("some other value"); byte[] bytes = kafkaAvroSerializer.serialize(topic, record); Object o = kafkaAvroDeserializer.deserialize(topic, bytes); checkSpecificSerializedGenericDeserializedEquals(record, o); Headers headers = new RecordHeaders(); bytes = kafkaAvroSerializer.serialize(topic, headers, record); o = kafkaAvroDeserializer.deserialize(topic, headers, bytes); checkSpecificSerializedGenericDeserializedEquals(record, o); }
@Test public void testGenericSerializedGenericDeserialized() { String topic = "topic"; Map<String, Object> config = new HashMap<>(); config.put(AvroSnapshotDeserializer.SPECIFIC_AVRO_READER, false); KafkaAvroDeserializer kafkaAvroDeserializer = new KafkaAvroDeserializer(schemaRegistryClient); kafkaAvroDeserializer.configure(config, false); KafkaAvroSerializer kafkaAvroSerializer = new KafkaAvroSerializer(schemaRegistryClient); kafkaAvroSerializer.configure(config, false); GenericRecord record = new GenericRecordBuilder(schema).set("field1", "some value").set("field2", "some other value").build(); byte[] bytes = kafkaAvroSerializer.serialize(topic , record); Object o = kafkaAvroDeserializer.deserialize(topic, bytes); checkGenericSerializedGenericDeserializedEquals(record, o); Headers headers = new RecordHeaders(); bytes = kafkaAvroSerializer.serialize(topic, headers, record); o = kafkaAvroDeserializer.deserialize(topic, headers, bytes); checkGenericSerializedGenericDeserializedEquals(record, o); }
@Test public void testCustomSchemaHeaderNames() { testSchemaHeaderNames("ksid", "vsid"); }