Skip to content
This repository was archived by the owner on Jan 13, 2021. It is now read-only.

Commit 7e0ff55

Browse files
committed
Refactor Huffman tests.
1 parent b1fd9f4 commit 7e0ff55

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

test/test_huffman.py

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,41 @@
22
from hyper.http20.huffman_constants import REQUEST_CODES,REQUEST_CODES_LENGTH,RESPONSE_CODES,RESPONSE_CODES_LENGTH
33

44

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"
1112

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"
1920

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')
2627

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')
3435

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''
3839

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

Comments
 (0)