use of io.confluent.kafka.schemaregistry.client.SchemaRegistryClient in project incubator-gobblin by apache.
the class ConfluentKafkaSchemaRegistryTest method testRegisterAndGetByKey.
@Test
public void testRegisterAndGetByKey() throws SchemaRegistryException {
Properties properties = new Properties();
properties.setProperty(KafkaSchemaRegistry.KAFKA_SCHEMA_REGISTRY_URL, TEST_URL);
SchemaRegistryClient schemaRegistryClient = new MockSchemaRegistryClient();
KafkaSchemaRegistry<Integer, Schema> kafkaSchemaRegistry = new ConfluentKafkaSchemaRegistry(properties, schemaRegistryClient);
Schema schema = SchemaBuilder.record(TEST_RECORD_NAME).namespace(TEST_NAMESPACE).fields().name(TEST_FIELD_NAME).type().stringType().noDefault().endRecord();
Integer id = kafkaSchemaRegistry.register(schema);
Assert.assertEquals(schema, kafkaSchemaRegistry.getSchemaByKey(id));
}
use of io.confluent.kafka.schemaregistry.client.SchemaRegistryClient in project incubator-gobblin by apache.
the class KafkaDeserializerExtractorTest method testConfluentAvroDeserializer.
@Test
public void testConfluentAvroDeserializer() throws IOException, RestClientException {
WorkUnitState mockWorkUnitState = getMockWorkUnitState();
mockWorkUnitState.setProp("schema.registry.url", TEST_URL);
Schema schema = SchemaBuilder.record(TEST_RECORD_NAME).namespace(TEST_NAMESPACE).fields().name(TEST_FIELD_NAME).type().stringType().noDefault().endRecord();
GenericRecord testGenericRecord = new GenericRecordBuilder(schema).set(TEST_FIELD_NAME, "testValue").build();
SchemaRegistryClient mockSchemaRegistryClient = mock(SchemaRegistryClient.class);
when(mockSchemaRegistryClient.getByID(any(Integer.class))).thenReturn(schema);
Serializer<Object> kafkaEncoder = new KafkaAvroSerializer(mockSchemaRegistryClient);
Deserializer<Object> kafkaDecoder = new KafkaAvroDeserializer(mockSchemaRegistryClient);
ByteBuffer testGenericRecordByteBuffer = ByteBuffer.wrap(kafkaEncoder.serialize(TEST_TOPIC_NAME, testGenericRecord));
KafkaSchemaRegistry<Integer, Schema> mockKafkaSchemaRegistry = mock(KafkaSchemaRegistry.class);
KafkaDeserializerExtractor kafkaDecoderExtractor = new KafkaDeserializerExtractor(mockWorkUnitState, Optional.fromNullable(Deserializers.CONFLUENT_AVRO), kafkaDecoder, mockKafkaSchemaRegistry);
ByteArrayBasedKafkaRecord mockMessageAndOffset = getMockMessageAndOffset(testGenericRecordByteBuffer);
Assert.assertEquals(kafkaDecoderExtractor.decodeRecord(mockMessageAndOffset), testGenericRecord);
}
use of io.confluent.kafka.schemaregistry.client.SchemaRegistryClient in project beam by apache.
the class ConfluentSchemaRegistryDeserializerProviderTest method mockSchemaRegistryClient.
private static SchemaRegistryClient mockSchemaRegistryClient(String schemaRegistryUrl, String subject) {
SchemaRegistryClient mockRegistryClient = MockSchemaRegistry.getClientForScope(schemaRegistryUrl);
try {
mockRegistryClient.register(subject, AVRO_SCHEMA_V1);
mockRegistryClient.register(subject, AVRO_SCHEMA);
} catch (IOException | RestClientException e) {
throw new RuntimeException("Unable to register schema for subject: " + subject, e);
}
return mockRegistryClient;
}
Aggregations