def test_round_trip(self): record_message = singer.RecordMessage(record={'name': 'foo'}, stream='users') schema_message = singer.SchemaMessage(stream='users', key_properties=['name'], schema={ 'type': 'object', 'properties': { 'name': { 'type': 'string' } } }) state_message = singer.StateMessage(value={'seq': 1}) self.assertEqual( record_message, singer.parse_message(singer.format_message(record_message))) self.assertEqual( schema_message, singer.parse_message(singer.format_message(schema_message))) self.assertEqual( state_message, singer.parse_message(singer.format_message(state_message)))
def test_format_message(self): record_message = singer.RecordMessage(record={'name': 'foo'}, stream='users') self.assertEqual( b'{"type":"RECORD","stream":"users","record":{"name":"foo"}}', singer.format_message(record_message)) self.assertEqual( b'{"type":"RECORD","stream":"users","record":{"name":"foo"}}', singer.format_message(record_message, option=0)) self.assertEqual( b'{"type":"RECORD","stream":"users","record":{"name":"foo"}}\n', singer.format_message(record_message, option=orjson.OPT_APPEND_NEWLINE))