Exemple #1
0
def check_hdr_payload(counter_size):
    # Create an HdrPayload class with given counters count
    payload = HdrPayload(counter_size, HDR_PAYLOAD_COUNTS)
    # put some known numbers in the buckets
    fill_counts(payload, HDR_PAYLOAD_COUNTS)

    # get a compressed version of that payload
    cpayload = payload.compress(HDR_PAYLOAD_COUNTS)
    # now decompress it into a new hdr payload instance
    dpayload = HdrPayload(counter_size, compressed_payload=cpayload)
    dpayload.init_counts(HDR_PAYLOAD_COUNTS)

    # now verify that the counters are identical to the original
    check_counts(dpayload, HDR_PAYLOAD_COUNTS)
Exemple #2
0
def test_hdr_payload_exceptions():
    # test invalid zlib compressed buffer
    with pytest.raises(zlib.error):
        HdrPayload(2, compressed_payload=b'junk data')

    # unsupported word size
    with pytest.raises(ValueError):
        payload = HdrPayload(1, HDR_PAYLOAD_COUNTS)
    with pytest.raises(ValueError):
        payload = HdrPayload(1000, HDR_PAYLOAD_COUNTS)

    # invalid cookie
    payload = HdrPayload(8, HDR_PAYLOAD_COUNTS)
    payload.payload.cookie = 12345
    cpayload = payload.compress(HDR_PAYLOAD_COUNTS)
    with pytest.raises(HdrCookieException):
        HdrPayload(2, compressed_payload=cpayload)