Exemple #1
0
def test_http_header_collection_get_single_raises_if_more_items_are_present():
    headers = Headers()

    values = [
        Header(b'Cookie', b'Hello=World;'),
        Header(b'Cookie', b'Foo=foo;'),
        Header(b'Cookie', b'Ufo=ufo;'),
    ]

    headers.add_many(values)
    # keeps only the last one, if a single header is expected
    headers.get_single(b'cookie').value == b'Ufo=ufo;'
Exemple #2
0
def test_http_header_collection_get_single_raises_if_more_items_are_present():
    headers = Headers()

    values = [
        (b"Cookie", b"Hello=World;"),
        (b"Cookie", b"Foo=foo;"),
        (b"Cookie", b"Ufo=ufo;"),
    ]

    headers.add_many(values)

    with pytest.raises(ValueError):
        headers.get_single(b"cookie")
Exemple #3
0
def test_http_header_collection_add_many_items():
    headers = Headers()

    values = {
        b"A": b"B",
        b"C": b"D",
        b"E": b"F",
    }

    headers.add_many(values)

    for key, value in values.items():
        header = headers.get_single(key)
        assert header is not None
        assert header == value
Exemple #4
0
def test_http_header_collection_add_many_items():
    headers = Headers()

    values = {
        b'A': b'B',
        b'C': b'D',
        b'E': b'F',
    }

    headers.add_many(values)

    for key, value in values.items():
        header = headers.get_single(key)
        assert header is not None
        assert header.name == key
        assert header.value == value
Exemple #5
0
def test_http_header_collection_add_multiple_times_items():
    headers = Headers()

    values = [
        Header(b'Cookie', b'Hello=World;'),
        Header(b'Cookie', b'Foo=foo;'),
        Header(b'Cookie', b'Ufo=ufo;'),
    ]

    headers.add_many(values)

    cookie_headers = headers[b'cookie']

    assert cookie_headers
    assert len(cookie_headers) == 3
    assert any(x.value == b'Hello=World;' for x in cookie_headers)
    assert any(x.value == b'Foo=foo;' for x in cookie_headers)
    assert any(x.value == b'Ufo=ufo;' for x in cookie_headers)
Exemple #6
0
def test_http_header_collection_add_multiple_times_items():
    headers = Headers()

    values = [
        (b"Cookie", b"Hello=World;"),
        (b"Cookie", b"Foo=foo;"),
        (b"Cookie", b"Ufo=ufo;"),
    ]

    headers.add_many(values)

    cookie_headers = headers[b"cookie"]

    assert cookie_headers
    assert len(cookie_headers) == 3
    assert any(x == b"Hello=World;" for x in cookie_headers)
    assert any(x == b"Foo=foo;" for x in cookie_headers)
    assert any(x == b"Ufo=ufo;" for x in cookie_headers)