"""Test Avro messages.""" from kafka_utils.consumer.deserializer.string import StringDeserializer from kafka_utils.consumer.source.mapping import EventSourceMessage def test_avro_message(mock_avro_event, mock_avro_serializer): """Test decoding an avro message.""" string_deserializer = StringDeserializer() event = EventSourceMessage(mock_avro_event) for topic_name_and_offset, kafka_event in event: mock_event_key = string_deserializer.deserialize(kafka_event.key, kafka_event.topic, 'key') mock_event_value_schema_id = mock_avro_serializer.get_schema_id(kafka_event.value) mock_event_value = mock_avro_serializer.deserialize( kafka_event.value, kafka_event.topic, 'value' ) assert topic_name_and_offset == 'event.owsContentReview.review-0' assert mock_event_key == 'abc' assert mock_event_value == {'bar': 'okay', 'baz': 'hello', 'foo': 1} assert mock_event_value_schema_id == 3