Skip to content

Commit 9d30ab8

Browse files
hnousiainenjeffwidman
authored andcommitted
Add positive tests for headers in record encode/decode
1 parent 5825c67 commit 9d30ab8

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

test/record/test_default_records.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,12 @@ def test_default_batch_builder_validates_arguments():
119119
builder.append(
120120
5, timestamp=9999999, key=b"123", value=None, headers=[])
121121

122+
# Check record with headers
123+
builder.append(
124+
6, timestamp=9999999, key=b"234", value=None, headers=[("hkey", b"hval")])
125+
122126
# in case error handling code fails to fix inner buffer in builder
123-
assert len(builder.build()) == 104
127+
assert len(builder.build()) == 124
124128

125129

126130
def test_default_correct_metadata_response():

test/record/test_records.py

+13-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
b'\x85\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x01]\xff|\xe7\x9d\x00\x00\x01]'
2323
b'\xff|\xe7\x9d\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
2424
b'\x00\x00\x00\x01\x12\x00\x00\x00\x01\x06123\x00'
25+
# Fourth batch value = "hdr" with header hkey=hval
26+
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00E\x00\x00\x00\x00\x02\\'
27+
b'\xd8\xefR\x00\x00\x00\x00\x00\x00\x00\x00\x01e\x85\xb6\xf3\xc1\x00\x00'
28+
b'\x01e\x85\xb6\xf3\xc1\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
29+
b'\xff\xff\x00\x00\x00\x01&\x00\x00\x00\x01\x06hdr\x02\x08hkey\x08hval'
2530
]
2631

2732
record_batch_data_v1 = [
@@ -60,8 +65,8 @@ def test_memory_records_v2():
6065
data_bytes = b"".join(record_batch_data_v2) + b"\x00" * 4
6166
records = MemoryRecords(data_bytes)
6267

63-
assert records.size_in_bytes() == 222
64-
assert records.valid_bytes() == 218
68+
assert records.size_in_bytes() == 303
69+
assert records.valid_bytes() == 299
6570

6671
assert records.has_next() is True
6772
batch = records.next_batch()
@@ -77,6 +82,12 @@ def test_memory_records_v2():
7782
assert records.next_batch() is not None
7883
assert records.next_batch() is not None
7984

85+
batch = records.next_batch()
86+
recs = list(batch)
87+
assert len(recs) == 1
88+
assert recs[0].value == b"hdr"
89+
assert recs[0].headers == [('hkey', b'hval')]
90+
8091
assert records.has_next() is False
8192
assert records.next_batch() is None
8293
assert records.next_batch() is None

0 commit comments

Comments
 (0)