File: test_httpheaderstorage.py

package info (click to toggle)
python-test-server 0.0.43-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 288 kB
  • sloc: python: 1,413; makefile: 7
file content (64 lines) | stat: -rw-r--r-- 1,519 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import pytest

from test_server.structure import HttpHeaderStorage


def test_constructor_no_data() -> None:
    HttpHeaderStorage()


def test_constructor_dict() -> None:
    HttpHeaderStorage({"foo": "bar"})


def test_constructor_list() -> None:
    HttpHeaderStorage([("foo", "bar")])


def test_set_get_simple_value() -> None:
    obj = HttpHeaderStorage()
    obj.set("foo", "bar")
    assert obj.get("foo") == "bar"


def test_set_get_multi_value() -> None:
    obj = HttpHeaderStorage()
    obj.add("foo", "bar")
    obj.add("foo", "baz")
    assert obj.getlist("foo") == ["bar", "baz"]


def test_delitem() -> None:
    obj = HttpHeaderStorage()
    with pytest.raises(KeyError):
        obj.remove("foo")
    obj.set("foo", "bar")
    obj.remove("foo")
    with pytest.raises(KeyError):
        obj.remove("foo")


def test_repr() -> None:
    obj = HttpHeaderStorage()
    obj.add("foo", "bar")
    obj.add("foo", "baz")
    assert repr(obj) == "[('foo', 'bar'), ('foo', 'baz')]"


def test_constructor_key_multivalue() -> None:
    obj = HttpHeaderStorage([("set-cookie", "foo=bar"), ("set-cookie", "baz=gaz")])
    assert obj.getlist("set-cookie") == ["foo=bar", "baz=gaz"]


def test_count_keys() -> None:
    obj = HttpHeaderStorage()
    obj.add("foo", "bar")
    obj.add("foo", "baz")
    assert obj.count_keys() == 1  # noqa: PLR2004


def test_count_items() -> None:
    obj = HttpHeaderStorage()
    obj.add("foo", "bar")
    obj.add("foo", "baz")
    assert obj.count_items() == 2  # noqa: PLR2004