Skip to content

Commit 875e27b

Browse files
committed
simplify cookie tests with assert_first_cookie_matches utility function
1 parent 66528ab commit 875e27b

File tree

1 file changed

+17
-35
lines changed

1 file changed

+17
-35
lines changed

tests/test_cookies.py

Lines changed: 17 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,29 @@ def cookie_data(request: FixtureRequest) -> dict[str, str]:
1919

2020
@pytest.fixture
2121
def clean_session(session: requestium.Session) -> requestium.Session:
22-
"""Fixture that ensures cookies are cleared before each test."""
22+
"""Ensure cookies are cleared before each test."""
2323
session.cookies.clear()
2424
session.driver.delete_all_cookies()
2525
return session
2626

2727

28+
def assert_first_cookie_matches(driver_cookies: list[dict], expected: dict[str, str]) -> None:
29+
"""Verify the first cookie in a list matches expected values."""
30+
assert len(driver_cookies) == 1
31+
32+
cookie = driver_cookies[0]
33+
assert cookie["name"] == expected["name"]
34+
assert cookie["value"] == expected["value"]
35+
assert cookie["domain"] in {expected["domain"], f".{expected['domain']}"}
36+
assert cookie["path"] == expected["path"]
37+
38+
2839
def test_ensure_add_cookie(clean_session: requestium.Session, cookie_data: dict[str, str]) -> None:
2940
clean_session.driver.get("https://google.com")
3041
clean_session.driver.delete_all_cookies()
3142
clean_session.driver.ensure_add_cookie(cookie_data)
3243

33-
driver_cookies = clean_session.driver.get_cookies()
34-
assert len(driver_cookies) == 1
35-
36-
cookie = driver_cookies[0]
37-
assert cookie["name"] == cookie_data["name"]
38-
assert cookie["value"] == cookie_data["value"]
39-
assert cookie["domain"] in {cookie_data["domain"], f".{cookie_data['domain']}"}
40-
assert cookie["path"] == cookie_data["path"]
44+
assert_first_cookie_matches(clean_session.driver.get_cookies(), cookie_data)
4145

4246

4347
def test_ensure_add_cookie_domain_override(clean_session: requestium.Session, cookie_data: dict[str, str]) -> None:
@@ -47,14 +51,8 @@ def test_ensure_add_cookie_domain_override(clean_session: requestium.Session, co
4751
clean_session.driver.delete_all_cookies()
4852
clean_session.driver.ensure_add_cookie(cookie_data, override_domain=override_domain)
4953

50-
driver_cookies = clean_session.driver.get_cookies()
51-
assert len(driver_cookies) == 1
52-
53-
cookie = driver_cookies[0]
54-
assert cookie["name"] == cookie_data["name"]
55-
assert cookie["value"] == cookie_data["value"]
56-
assert cookie["domain"] in {override_domain, f".{override_domain}"}
57-
assert cookie["path"] == cookie_data["path"]
54+
expected = {**cookie_data, "domain": override_domain}
55+
assert_first_cookie_matches(clean_session.driver.get_cookies(), expected)
5856

5957

6058
def test_transfer_driver_cookies_to_session(clean_session: requestium.Session, cookie_data: dict[str, str]) -> None:
@@ -72,15 +70,7 @@ def test_transfer_session_cookies_to_driver(clean_session: requestium.Session, c
7270

7371
assert not clean_session.driver.get_cookies()
7472
clean_session.transfer_session_cookies_to_driver()
75-
76-
driver_cookies = clean_session.driver.get_cookies()
77-
assert len(driver_cookies) == 1
78-
79-
cookie = driver_cookies[0]
80-
assert cookie["name"] == cookie_data["name"]
81-
assert cookie["value"] == cookie_data["value"]
82-
assert cookie["domain"] in {cookie_data["domain"], f".{cookie_data['domain']}"}
83-
assert cookie["path"] == cookie_data["path"]
73+
assert_first_cookie_matches(clean_session.driver.get_cookies(), cookie_data)
8474

8575

8676
def test_transfer_session_cookies_to_driver_domain_filter(clean_session: requestium.Session, cookie_data: dict[str, str]) -> None:
@@ -90,15 +80,7 @@ def test_transfer_session_cookies_to_driver_domain_filter(clean_session: request
9080

9181
assert not clean_session.driver.get_cookies()
9282
clean_session.transfer_session_cookies_to_driver(domain=cookie_data["domain"])
93-
94-
driver_cookies = clean_session.driver.get_cookies()
95-
assert len(driver_cookies) == 1
96-
97-
cookie = driver_cookies[0]
98-
assert cookie["name"] == cookie_data["name"]
99-
assert cookie["value"] == cookie_data["value"]
100-
assert cookie["domain"] in {cookie_data["domain"], f".{cookie_data['domain']}"}
101-
assert cookie["path"] == cookie_data["path"]
83+
assert_first_cookie_matches(clean_session.driver.get_cookies(), cookie_data)
10284

10385

10486
def test_transfer_session_cookies_to_driver_no_domain_error(session: requestium.Session) -> None:

0 commit comments

Comments
 (0)