def test_avro_serializer_subject_name_strategy_default(load_avsc): """ Ensures record_subject_name_strategy returns the correct record name """ conf = {'url': TEST_URL} test_client = SchemaRegistryClient(conf) test_serializer = AvroSerializer(test_client, load_avsc('basic_schema.avsc')) ctx = SerializationContext('test_subj', MessageField.VALUE) assert test_serializer._subject_name_func( ctx, test_serializer._schema_name) == 'test_subj-value'
def test_avro_serializer_topic_record_subject_name_strategy_primitive(load_avsc): """ Ensures record_subject_name_strategy returns the correct record name. Also verifies transformation from Avro canonical form. """ conf = {'url': TEST_URL} test_client = SchemaRegistryClient(conf) test_serializer = AvroSerializer(test_client, 'int', conf={'subject.name.strategy': topic_record_subject_name_strategy}) ctx = SerializationContext('test_subj', MessageField.VALUE) assert test_serializer._subject_name_func( ctx, test_serializer._schema_name) == 'test_subj-int'
def test_avro_serializer_topic_record_subject_name_strategy(load_avsc): """ Ensures record_subject_name_strategy returns the correct record name """ conf = {'url': TEST_URL} test_client = SchemaRegistryClient(conf) test_serializer = AvroSerializer( load_avsc('basic_schema.avsc'), test_client, conf={'subject.name.strategy': topic_record_subject_name_strategy}) ctx = SerializationContext('test_subj', MessageField.VALUE) assert test_serializer._subject_name_func( ctx, test_serializer._schema_name) == 'test_subj-python.test.basic'