Esempio n. 1
0
    def test_can_decode_a_story(self, story):
        d = Decoder()

        # We support draft 5 of the HPACK spec.
        assert story['draft'] == 5

        if story['context'] == 'request':
            d.huffman_coder = HuffmanDecoder(REQUEST_CODES, REQUEST_CODES_LENGTH)

        for case in story['cases']:
            d.header_table_size = case['header_table_size']
            decoded_headers = d.decode(unhexlify(case['wire']))

            # The correct headers are a list of dicts, which is annoying.
            correct_headers = {(item[0], item[1]) for header in case['headers'] for item in header.items()}
            assert correct_headers == decoded_headers
Esempio n. 2
0
    def test_can_decode_a_story(self, story):
        d = Decoder()

        # We support draft 9 of the HPACK spec.
        if story['draft'] != 9:
            skip("We support draft 9, not draft %d" % story['draft'])

        for case in story['cases']:
            try:
                d.header_table_size = case['header_table_size']
            except KeyError:
                pass
            decoded_headers = d.decode(unhexlify(case['wire']))

            # The correct headers are a list of dicts, which is annoying.
            correct_headers = [(item[0], item[1]) for header in case['headers'] for item in header.items()]
            correct_headers = correct_headers
            assert correct_headers == decoded_headers
Esempio n. 3
0
    def test_can_decode_a_story(self, story):
        d = Decoder()

        # We support draft 9 of the HPACK spec.
        if story['draft'] != 9:
            skip("We support draft 9, not draft %d" % story['draft'])

        for case in story['cases']:
            try:
                d.header_table_size = case['header_table_size']
            except KeyError:
                pass
            decoded_headers = d.decode(unhexlify(case['wire']))

            # The correct headers are a list of dicts, which is annoying.
            correct_headers = [(item[0], item[1]) for header in case['headers']
                               for item in header.items()]
            correct_headers = correct_headers
            assert correct_headers == decoded_headers
Esempio n. 4
0
    def test_can_decode_a_story(self, story):
        d = Decoder()

        # We support draft 5 of the HPACK spec.
        assert story['draft'] == 5

        if story['context'] == 'request':
            d.huffman_coder = HuffmanDecoder(REQUEST_CODES,
                                             REQUEST_CODES_LENGTH)

        for case in story['cases']:
            d.header_table_size = case['header_table_size']
            decoded_headers = d.decode(unhexlify(case['wire']))

            # The correct headers are a list of dicts, which is annoying.
            correct_headers = {(item[0], item[1])
                               for header in case['headers']
                               for item in header.items()}
            assert correct_headers == decoded_headers