|
2 | 2 | from hyper.http20.huffman_constants import REQUEST_CODES,REQUEST_CODES_LENGTH,RESPONSE_CODES,RESPONSE_CODES_LENGTH
|
3 | 3 |
|
4 | 4 |
|
5 |
| -def test_request_huffman_decoder(): |
6 |
| - decoder = HuffmanDecoder(REQUEST_CODES,REQUEST_CODES_LENGTH) |
7 |
| - assert decoder.decode(b'\xdb\x6d\x88\x3e\x68\xd1\xcb\x12\x25\xba\x7f') == b"www.example.com" |
8 |
| - assert decoder.decode(b'\x63\x65\x4a\x13\x98\xff') == b"no-cache" |
9 |
| - assert decoder.decode(b'\x4e\xb0\x8b\x74\x97\x90\xfa\x7f') == b"custom-key" |
10 |
| - assert decoder.decode(b'\x4e\xb0\x8b\x74\x97\x9a\x17\xa8\xff') == b"custom-value" |
| 5 | +class TestHuffman(object): |
| 6 | + def test_request_huffman_decoder(self): |
| 7 | + decoder = HuffmanDecoder(REQUEST_CODES,REQUEST_CODES_LENGTH) |
| 8 | + assert decoder.decode(b'\xdb\x6d\x88\x3e\x68\xd1\xcb\x12\x25\xba\x7f') == b"www.example.com" |
| 9 | + assert decoder.decode(b'\x63\x65\x4a\x13\x98\xff') == b"no-cache" |
| 10 | + assert decoder.decode(b'\x4e\xb0\x8b\x74\x97\x90\xfa\x7f') == b"custom-key" |
| 11 | + assert decoder.decode(b'\x4e\xb0\x8b\x74\x97\x9a\x17\xa8\xff') == b"custom-value" |
11 | 12 |
|
12 |
| -def test_response_huffman_decoder(): |
13 |
| - decoder = HuffmanDecoder(RESPONSE_CODES,RESPONSE_CODES_LENGTH) |
14 |
| - assert decoder.decode(b'\x40\x9f') == b"302" |
15 |
| - assert decoder.decode(b'\xc3\x1b\x39\xbf\x38\x7f') == b"private" |
16 |
| - assert decoder.decode(b'\xa2\xfb\xa2\x03\x20\xf2\xab\x30\x31\x24\x01\x8b\x49\x0d\x32\x09\xe8\x77') == b"Mon, 21 Oct 2013 20:13:21 GMT" |
17 |
| - assert decoder.decode(b'\xe3\x9e\x78\x64\xdd\x7a\xfd\x3d\x3d\x24\x87\x47\xdb\x87\x28\x49\x55\xf6\xff') == b"https://www.example.com" |
18 |
| - assert decoder.decode(b'\xdf\x7d\xfb\x36\xd3\xd9\xe1\xfc\xfc\x3f\xaf\xe7\xab\xfc\xfe\xfc\xbf\xaf\x3e\xdf\x2f\x97\x7f\xd3\x6f\xf7\xfd\x79\xf6\xf9\x77\xfd\x3d\xe1\x6b\xfa\x46\xfe\x10\xd8\x89\x44\x7d\xe1\xce\x18\xe5\x65\xf7\x6c\x2f') == b"foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1" |
| 13 | + def test_response_huffman_decoder(self): |
| 14 | + decoder = HuffmanDecoder(RESPONSE_CODES,RESPONSE_CODES_LENGTH) |
| 15 | + assert decoder.decode(b'\x40\x9f') == b"302" |
| 16 | + assert decoder.decode(b'\xc3\x1b\x39\xbf\x38\x7f') == b"private" |
| 17 | + assert decoder.decode(b'\xa2\xfb\xa2\x03\x20\xf2\xab\x30\x31\x24\x01\x8b\x49\x0d\x32\x09\xe8\x77') == b"Mon, 21 Oct 2013 20:13:21 GMT" |
| 18 | + assert decoder.decode(b'\xe3\x9e\x78\x64\xdd\x7a\xfd\x3d\x3d\x24\x87\x47\xdb\x87\x28\x49\x55\xf6\xff') == b"https://www.example.com" |
| 19 | + assert decoder.decode(b'\xdf\x7d\xfb\x36\xd3\xd9\xe1\xfc\xfc\x3f\xaf\xe7\xab\xfc\xfe\xfc\xbf\xaf\x3e\xdf\x2f\x97\x7f\xd3\x6f\xf7\xfd\x79\xf6\xf9\x77\xfd\x3d\xe1\x6b\xfa\x46\xfe\x10\xd8\x89\x44\x7d\xe1\xce\x18\xe5\x65\xf7\x6c\x2f') == b"foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1" |
19 | 20 |
|
20 |
| -def test_request_huffman_encode(): |
21 |
| - encoder = HuffmanEncoder(REQUEST_CODES, REQUEST_CODES_LENGTH) |
22 |
| - assert encoder.encode(b"www.example.com") == (b'\xdb\x6d\x88\x3e\x68\xd1\xcb\x12\x25\xba\x7f') |
23 |
| - assert encoder.encode(b"no-cache") == (b'\x63\x65\x4a\x13\x98\xff') |
24 |
| - assert encoder.encode(b"custom-key") == (b'\x4e\xb0\x8b\x74\x97\x90\xfa\x7f') |
25 |
| - assert encoder.encode(b"custom-value") == (b'\x4e\xb0\x8b\x74\x97\x9a\x17\xa8\xff') |
| 21 | + def test_request_huffman_encode(self): |
| 22 | + encoder = HuffmanEncoder(REQUEST_CODES, REQUEST_CODES_LENGTH) |
| 23 | + assert encoder.encode(b"www.example.com") == (b'\xdb\x6d\x88\x3e\x68\xd1\xcb\x12\x25\xba\x7f') |
| 24 | + assert encoder.encode(b"no-cache") == (b'\x63\x65\x4a\x13\x98\xff') |
| 25 | + assert encoder.encode(b"custom-key") == (b'\x4e\xb0\x8b\x74\x97\x90\xfa\x7f') |
| 26 | + assert encoder.encode(b"custom-value") == (b'\x4e\xb0\x8b\x74\x97\x9a\x17\xa8\xff') |
26 | 27 |
|
27 |
| -def test_response_huffman_encode(): |
28 |
| - encoder = HuffmanEncoder(RESPONSE_CODES, RESPONSE_CODES_LENGTH) |
29 |
| - assert encoder.encode(b"302") == (b'\x40\x9f') |
30 |
| - assert encoder.encode(b"private") == (b'\xc3\x1b\x39\xbf\x38\x7f') |
31 |
| - assert encoder.encode(b"Mon, 21 Oct 2013 20:13:21 GMT") == (b'\xa2\xfb\xa2\x03\x20\xf2\xab\x30\x31\x24\x01\x8b\x49\x0d\x32\x09\xe8\x77') |
32 |
| - assert encoder.encode(b"https://www.example.com") == (b'\xe3\x9e\x78\x64\xdd\x7a\xfd\x3d\x3d\x24\x87\x47\xdb\x87\x28\x49\x55\xf6\xff') |
33 |
| - assert encoder.encode(b"foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1") == (b'\xdf\x7d\xfb\x36\xd3\xd9\xe1\xfc\xfc\x3f\xaf\xe7\xab\xfc\xfe\xfc\xbf\xaf\x3e\xdf\x2f\x97\x7f\xd3\x6f\xf7\xfd\x79\xf6\xf9\x77\xfd\x3d\xe1\x6b\xfa\x46\xfe\x10\xd8\x89\x44\x7d\xe1\xce\x18\xe5\x65\xf7\x6c\x2f') |
| 28 | + def test_response_huffman_encode(self): |
| 29 | + encoder = HuffmanEncoder(RESPONSE_CODES, RESPONSE_CODES_LENGTH) |
| 30 | + assert encoder.encode(b"302") == (b'\x40\x9f') |
| 31 | + assert encoder.encode(b"private") == (b'\xc3\x1b\x39\xbf\x38\x7f') |
| 32 | + assert encoder.encode(b"Mon, 21 Oct 2013 20:13:21 GMT") == (b'\xa2\xfb\xa2\x03\x20\xf2\xab\x30\x31\x24\x01\x8b\x49\x0d\x32\x09\xe8\x77') |
| 33 | + assert encoder.encode(b"https://www.example.com") == (b'\xe3\x9e\x78\x64\xdd\x7a\xfd\x3d\x3d\x24\x87\x47\xdb\x87\x28\x49\x55\xf6\xff') |
| 34 | + assert encoder.encode(b"foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1") == (b'\xdf\x7d\xfb\x36\xd3\xd9\xe1\xfc\xfc\x3f\xaf\xe7\xab\xfc\xfe\xfc\xbf\xaf\x3e\xdf\x2f\x97\x7f\xd3\x6f\xf7\xfd\x79\xf6\xf9\x77\xfd\x3d\xe1\x6b\xfa\x46\xfe\x10\xd8\x89\x44\x7d\xe1\xce\x18\xe5\x65\xf7\x6c\x2f') |
34 | 35 |
|
35 |
| -def test_eos_terminates_decode_response(): |
36 |
| - decoder = HuffmanDecoder(RESPONSE_CODES,RESPONSE_CODES_LENGTH) |
37 |
| - assert decoder.decode(b'\xff\xff\xdd\xff\xff\xff') == b'' |
| 36 | + def test_eos_terminates_decode_response(self): |
| 37 | + decoder = HuffmanDecoder(RESPONSE_CODES,RESPONSE_CODES_LENGTH) |
| 38 | + assert decoder.decode(b'\xff\xff\xdd\xff\xff\xff') == b'' |
38 | 39 |
|
39 |
| -def test_eos_terminates_decode_request(): |
40 |
| - decoder = HuffmanDecoder(REQUEST_CODES,REQUEST_CODES_LENGTH) |
41 |
| - assert decoder.decode(b'\xff\xff\xf7\x00') == b'' |
| 40 | + def test_eos_terminates_decode_request(self): |
| 41 | + decoder = HuffmanDecoder(REQUEST_CODES,REQUEST_CODES_LENGTH) |
| 42 | + assert decoder.decode(b'\xff\xff\xf7\x00') == b'' |
0 commit comments