Skip to content

Commit 3b373e3

Browse files
committed
Add tests
1 parent 92876c7 commit 3b373e3

3 files changed

Lines changed: 33 additions & 10 deletions

File tree

sdk/eventhub/azure-eventhub/azure/eventhub/_pyamqp/_decode.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ def _decode_array_large(buffer: memoryview) -> Tuple[memoryview, List[Any]]:
282282

283283
if subconstructor == 0:
284284
composite_type = buffer[9]
285-
buffer, descriptor = _DECODE_BY_CONSTRUCTOR[composite_type](buffer[9:])
285+
buffer, descriptor = _DECODE_BY_CONSTRUCTOR[composite_type](buffer[10:])
286286
subconstructor = buffer[0]
287287
buffer = buffer[1:]
288288
for i in range(count):
@@ -453,11 +453,11 @@ def decode_empty_frame(header: memoryview) -> Tuple[int, bytes]:
453453
130: described.DescribedFloat,
454454
131: described.DescribedInt,
455455
160: described.DescribedBytes,
456-
161: described.DescribedStr,
457-
163: described.DescribedStr,
456+
161: described.DescribedBytes,
457+
163: described.DescribedBytes,
458458
176: described.DescribedBytes,
459-
177: described.DescribedStr,
460-
179: described.DescribedStr,
459+
177: described.DescribedBytes,
460+
179: described.DescribedBytes,
461461
192: described.DescribedList,
462462
193: described.DescribedDict,
463463
208: described.DescribedList,

sdk/eventhub/azure-eventhub/azure/eventhub/_pyamqp/described.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ class DescribedInt(Described, int):
1616

1717

1818
class DescribedFloat(Described, float):
19-
pass
20-
21-
22-
class DescribedStr(Described, str):
2319
pass
2420

2521

sdk/eventhub/azure-eventhub/tests/pyamqp_tests/unittest/test_decode.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
from azure.eventhub._pyamqp._decode import _decode_decimal128
2+
from azure.eventhub._pyamqp._decode import _decode_decimal128, _decode_described, _decode_array_small, _decode_array_large
33
from decimal import Decimal
44

55

@@ -18,3 +18,30 @@ def test_decimal_decode(value, expected):
1818
assert output[1] == expected
1919

2020

21+
def test_described():
22+
value = b"\x80\0\0\x017\0\0\x07\xd3\xd0\0\0\0\x12\0\0\0\x02\xa1\ntest/topicP\0"
23+
buffer, output = _decode_described(memoryview(value))
24+
assert output.descriptor == 1335734831059
25+
assert output == [b'test/topic', 0]
26+
27+
28+
def test_array_of_described():
29+
value = b"\0\x03\0\x80\0\0\x017\0\0\x07\xd4\xd0\0\0\0\x0c\0\0\0\x02\xa1\x02n1\xa1\x02v1\0\0\0\x0c\0\0\0\x02\xa1\x02n2\xa1\x02v2\0\0\0\n\0\0\0\x02\xa1\x02n1\xa1\0"
30+
31+
buffer, output = _decode_array_small(memoryview(value))
32+
assert output == [[b'n1', b'v1'], [b'n2', b'v2'], [b'n1', b'']]
33+
assert output[0].descriptor == 1335734831060
34+
assert output[1].descriptor == 1335734831060
35+
assert output[2].descriptor == 1335734831060
36+
37+
38+
def test_array_of_described_large():
39+
value = b"\0\0\x0e\x0f\0\0\x01\0\0\x80\0\0\x017\0\0\x07\xd4\xd0"
40+
for i in range(256):
41+
value += b"\0\0\0\n\0\0\0\x02\xa1\x01n\xa1\x01v"
42+
43+
buffer, output = _decode_array_large(memoryview(value))
44+
assert len(output) == 256
45+
for i in range(256):
46+
assert output[i] == [b'n', b'v']
47+
assert output[i].descriptor == 1335734831060

0 commit comments

Comments
 (0)