Home / Class/ TestCaseInsensitiveDict Class — requests Architecture

TestCaseInsensitiveDict Class — requests Architecture

Architecture documentation for the TestCaseInsensitiveDict class in test_structures.py from the requests codebase.

Entity Profile

Dependency Diagram

graph TD
  1d6fd1bf_d851_484c_7cce_ff35cdea169f["TestCaseInsensitiveDict"]
  733a3397_4d8b_4610_9dd6_21f99211b86c["test_structures.py"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|defined in| 733a3397_4d8b_4610_9dd6_21f99211b86c
  07f31344_869f_d1ec_015e_5c0349ff9247["setup()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| 07f31344_869f_d1ec_015e_5c0349ff9247
  18eb1494_265a_6b30_dc16_a8cef8b35106["test_list()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| 18eb1494_265a_6b30_dc16_a8cef8b35106
  535de071_6dc9_f058_0c7d_363e181864bb["test_getitem()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| 535de071_6dc9_f058_0c7d_363e181864bb
  e485848f_6eaa_1d8c_80ac_a4f5b26919bf["test_delitem()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| e485848f_6eaa_1d8c_80ac_a4f5b26919bf
  484ef19f_3735_b700_4f1e_7fe5edbb3117["test_lower_items()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| 484ef19f_3735_b700_4f1e_7fe5edbb3117
  102da79a_11bd_e436_ea8e_e6c1b6552dd1["test_repr()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| 102da79a_11bd_e436_ea8e_e6c1b6552dd1
  78403e1c_6d5d_0d85_7dc8_06486359691c["test_copy()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| 78403e1c_6d5d_0d85_7dc8_06486359691c
  e62e3005_1432_0384_326c_89c72ab51959["test_instance_equality()"]
  1d6fd1bf_d851_484c_7cce_ff35cdea169f -->|method| e62e3005_1432_0384_326c_89c72ab51959

Relationship Graph

Source Code

tests/test_structures.py lines 6–51

class TestCaseInsensitiveDict:
    @pytest.fixture(autouse=True)
    def setup(self):
        """CaseInsensitiveDict instance with "Accept" header."""
        self.case_insensitive_dict = CaseInsensitiveDict()
        self.case_insensitive_dict["Accept"] = "application/json"

    def test_list(self):
        assert list(self.case_insensitive_dict) == ["Accept"]

    possible_keys = pytest.mark.parametrize(
        "key", ("accept", "ACCEPT", "aCcEpT", "Accept")
    )

    @possible_keys
    def test_getitem(self, key):
        assert self.case_insensitive_dict[key] == "application/json"

    @possible_keys
    def test_delitem(self, key):
        del self.case_insensitive_dict[key]
        assert key not in self.case_insensitive_dict

    def test_lower_items(self):
        assert list(self.case_insensitive_dict.lower_items()) == [
            ("accept", "application/json")
        ]

    def test_repr(self):
        assert repr(self.case_insensitive_dict) == "{'Accept': 'application/json'}"

    def test_copy(self):
        copy = self.case_insensitive_dict.copy()
        assert copy is not self.case_insensitive_dict
        assert copy == self.case_insensitive_dict

    @pytest.mark.parametrize(
        "other, result",
        (
            ({"AccePT": "application/json"}, True),
            ({}, False),
            (None, False),
        ),
    )
    def test_instance_equality(self, other, result):
        assert (self.case_insensitive_dict == other) is result

Frequently Asked Questions

What is the TestCaseInsensitiveDict class?
TestCaseInsensitiveDict is a class in the requests codebase, defined in tests/test_structures.py.
Where is TestCaseInsensitiveDict defined?
TestCaseInsensitiveDict is defined in tests/test_structures.py at line 6.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free