TestCaseInsensitiveDict Class — requests Architecture
Architecture documentation for the TestCaseInsensitiveDict class in test_requests.py from the requests codebase.
Entity Profile
Dependency Diagram
graph TD 1af73de2_d781_73a2_a172_8a628d8b069d["TestCaseInsensitiveDict"] 69ebfd6f_8f0c_4586_0c19_2c348e1a42a2["test_requests.py"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|defined in| 69ebfd6f_8f0c_4586_0c19_2c348e1a42a2 2ec5bf88_a024_a638_1572_c392589c3266["test_init()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 2ec5bf88_a024_a638_1572_c392589c3266 edc8e219_d30d_5f5a_4843_eb4326af5dd3["test_docstring_example()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| edc8e219_d30d_5f5a_4843_eb4326af5dd3 0f43f544_5863_cfc5_50fe_55ae01ceb93e["test_len()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 0f43f544_5863_cfc5_50fe_55ae01ceb93e dda1c11f_ce9b_0827_cdb4_284104ae4f44["test_getitem()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| dda1c11f_ce9b_0827_cdb4_284104ae4f44 adc8115a_3960_46a2_55cb_9d56f1eb3f35["test_fixes_649()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| adc8115a_3960_46a2_55cb_9d56f1eb3f35 ad8ec29a_12ab_52f4_fb15_233557e628bb["test_delitem()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| ad8ec29a_12ab_52f4_fb15_233557e628bb 98776b6a_ddb6_6157_aed6_0179db6ed629["test_contains()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 98776b6a_ddb6_6157_aed6_0179db6ed629 36ff3b08_0db1_2ba5_c108_1947bedc4589["test_get()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 36ff3b08_0db1_2ba5_c108_1947bedc4589 b37d4763_2f2b_a6a7_376f_bb9752f2eb31["test_update()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| b37d4763_2f2b_a6a7_376f_bb9752f2eb31 87597d9d_9068_6e0e_98a8_096539e85635["test_update_retains_unchanged()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 87597d9d_9068_6e0e_98a8_096539e85635 8dd150e0_4440_7e40_70f3_a20616e99370["test_iter()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 8dd150e0_4440_7e40_70f3_a20616e99370 07bb9c27_f473_4088_7d79_af30720cdd60["test_equality()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 07bb9c27_f473_4088_7d79_af30720cdd60 7241221c_3586_93ac_0560_9c3af746f71b["test_setdefault()"] 1af73de2_d781_73a2_a172_8a628d8b069d -->|method| 7241221c_3586_93ac_0560_9c3af746f71b
Relationship Graph
Source Code
tests/test_requests.py lines 2277–2425
class TestCaseInsensitiveDict:
@pytest.mark.parametrize(
"cid",
(
CaseInsensitiveDict({"Foo": "foo", "BAr": "bar"}),
CaseInsensitiveDict([("Foo", "foo"), ("BAr", "bar")]),
CaseInsensitiveDict(FOO="foo", BAr="bar"),
),
)
def test_init(self, cid):
assert len(cid) == 2
assert "foo" in cid
assert "bar" in cid
def test_docstring_example(self):
cid = CaseInsensitiveDict()
cid["Accept"] = "application/json"
assert cid["aCCEPT"] == "application/json"
assert list(cid) == ["Accept"]
def test_len(self):
cid = CaseInsensitiveDict({"a": "a", "b": "b"})
cid["A"] = "a"
assert len(cid) == 2
def test_getitem(self):
cid = CaseInsensitiveDict({"Spam": "blueval"})
assert cid["spam"] == "blueval"
assert cid["SPAM"] == "blueval"
def test_fixes_649(self):
"""__setitem__ should behave case-insensitively."""
cid = CaseInsensitiveDict()
cid["spam"] = "oneval"
cid["Spam"] = "twoval"
cid["sPAM"] = "redval"
cid["SPAM"] = "blueval"
assert cid["spam"] == "blueval"
assert cid["SPAM"] == "blueval"
assert list(cid.keys()) == ["SPAM"]
def test_delitem(self):
cid = CaseInsensitiveDict()
cid["Spam"] = "someval"
del cid["sPam"]
assert "spam" not in cid
assert len(cid) == 0
def test_contains(self):
cid = CaseInsensitiveDict()
cid["Spam"] = "someval"
assert "Spam" in cid
assert "spam" in cid
assert "SPAM" in cid
assert "sPam" in cid
assert "notspam" not in cid
def test_get(self):
cid = CaseInsensitiveDict()
cid["spam"] = "oneval"
cid["SPAM"] = "blueval"
assert cid.get("spam") == "blueval"
assert cid.get("SPAM") == "blueval"
assert cid.get("sPam") == "blueval"
assert cid.get("notspam", "default") == "default"
def test_update(self):
cid = CaseInsensitiveDict()
cid["spam"] = "blueval"
cid.update({"sPam": "notblueval"})
assert cid["spam"] == "notblueval"
cid = CaseInsensitiveDict({"Foo": "foo", "BAr": "bar"})
cid.update({"fOO": "anotherfoo", "bAR": "anotherbar"})
assert len(cid) == 2
assert cid["foo"] == "anotherfoo"
assert cid["bar"] == "anotherbar"
def test_update_retains_unchanged(self):
cid = CaseInsensitiveDict({"foo": "foo", "bar": "bar"})
cid.update({"foo": "newfoo"})
assert cid["bar"] == "bar"
Domain
Defined In
Source
Frequently Asked Questions
What is the TestCaseInsensitiveDict class?
TestCaseInsensitiveDict is a class in the requests codebase, defined in tests/test_requests.py.
Where is TestCaseInsensitiveDict defined?
TestCaseInsensitiveDict is defined in tests/test_requests.py at line 2277.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free