def test_write_delimited_multiple(): now = datetime.datetime.utcnow() original = DatasetProfile( name="test", session_id="test.session.id", session_timestamp=now, tags={"key": "value"}, metadata={"key": "value"}, ) original.track("col1", "value") output_bytes = original.serialize_delimited() multiple_entries = output_bytes for i in range(1, 5): multiple_entries += output_bytes entries = DatasetProfile.parse_delimited(multiple_entries) assert len(entries) == 5 for entry in entries: assert entry.session_id == original.session_id # Python time precisions are different assert time.to_utc_ms(entry.session_timestamp) == time.to_utc_ms( original.session_timestamp) assert entry.tags == original.tags assert entry.metadata == original.metadata
def test_write_delimited_single(): now = datetime.datetime.utcnow() original = DatasetProfile(name="test", session_id="test.session.id", session_timestamp=now, tags={ "key": "value"}, metadata={"key": "value"},) original.track("col1", "value") output_bytes = original.serialize_delimited() pos, roundtrip = DatasetProfile.parse_delimited_single(output_bytes) assert roundtrip.session_id == original.session_id # Python time precision includes nanoseconds assert time.to_utc_ms(roundtrip.session_timestamp) == time.to_utc_ms( original.session_timestamp) assert roundtrip.tags == original.tags assert roundtrip.metadata == original.metadata