Skip to content

Commit 2c57389

Browse files
juliandescottesmoz-wptsync-bot
authored andcommitted
[wdspec] Update network/continue_request/cookies.py to match specification about modified cookies
Differential Revision: https://phabricator.services.mozilla.com/D296756 bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=2031237 gecko-commit: 8c1a81ff6ab10d0842004278a8553d39b0bfaf5f gecko-reviewers: whimboo
1 parent 591f2d7 commit 2c57389

1 file changed

Lines changed: 43 additions & 18 deletions

File tree

  • webdriver/tests/bidi/network/continue_request

‎webdriver/tests/bidi/network/continue_request/cookies.py‎

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import pytest
2+
import pytest_asyncio
23

34
from webdriver.bidi.modules.network import CookieHeader, Header, NetworkStringValue
45
from webdriver.bidi.modules.script import ContextTarget
@@ -9,13 +10,34 @@
910
pytestmark = pytest.mark.asyncio
1011

1112

13+
@pytest_asyncio.fixture(autouse=True)
14+
async def delete_cookies(bidi_session):
15+
await bidi_session.storage.delete_cookies()
16+
17+
1218
@pytest.mark.parametrize(
13-
"document_cookies, modified_cookies",
19+
"document_cookies, modified_cookies, expected_event_cookies",
1420
[
15-
[{"a": "1"}, {}],
16-
[{}, {"b": "2"}],
17-
[{"a": "1", "b": "2"}, {"c": "3", "d": "4"}],
18-
[{"a": "1"}, {"a": "not-1"}],
21+
[{"a": "from-store"}, {}, []],
22+
[{"a": "from-store"}, {"b": "from-command"}, []],
23+
[{}, {"b": "from-command"}, []],
24+
[
25+
{"a": "from-store"},
26+
{"a": "from-command"},
27+
[{"name": "a", "value": {"type": "string", "value": "from-store"}}],
28+
],
29+
[
30+
{"a": "from-store-a", "b": "from-store-b"},
31+
{"b": "from-command-b", "c": "from-command-c"},
32+
[{"name": "b", "value": {"type": "string", "value": "from-store-b"}}],
33+
],
34+
],
35+
ids=[
36+
"store_cookie_removed",
37+
"store_cookies_replaced",
38+
"new_cookie_in_command",
39+
"modified_cookie_in_command",
40+
"common_cookie",
1941
],
2042
)
2143
async def test_modify_cookies(
@@ -26,13 +48,14 @@ async def test_modify_cookies(
2648
top_context,
2749
document_cookies,
2850
modified_cookies,
29-
url
51+
expected_event_cookies,
52+
url,
3053
):
3154
# Navigate away from about:blank to make sure document.cookies can be used.
3255
await bidi_session.browsing_context.navigate(
3356
context=top_context["context"],
3457
url=url("/webdriver/tests/bidi/network/support/empty.html"),
35-
wait="complete"
58+
wait="complete",
3659
)
3760

3861
expression = ""
@@ -57,12 +80,12 @@ async def test_modify_cookies(
5780
response_event = await on_response_completed
5881

5982
event_cookies = response_event["request"]["cookies"]
60-
assert len(event_cookies) == len(cookies)
61-
for cookie in cookies:
83+
assert len(event_cookies) == len(expected_event_cookies)
84+
for expected in expected_event_cookies:
6285
event_cookie = next(
63-
filter(lambda c: c["name"] == cookie["name"], event_cookies), None
86+
filter(lambda c: c["name"] == expected["name"], event_cookies), None
6487
)
65-
recursive_compare(cookie, event_cookie)
88+
recursive_compare(expected, event_cookie)
6689

6790
await bidi_session.storage.delete_cookies()
6891

@@ -84,21 +107,23 @@ async def test_override_header_cookie(
84107
response_event = await on_response_completed
85108

86109
event_cookies = response_event["request"]["cookies"]
87-
recursive_compare([cookie], event_cookies)
110+
assert event_cookies == []
88111

89112
await bidi_session.storage.delete_cookies()
90113

91114

115+
@pytest.mark.parametrize(
116+
"header_cookie",
117+
["a=from-header", "b=from-header"],
118+
ids=["different_cookie", "same_cookie"],
119+
)
92120
async def test_override_modified_header_cookies(
93-
setup_blocked_request,
94-
subscribe_events,
95-
wait_for_event,
96-
bidi_session,
121+
setup_blocked_request, subscribe_events, wait_for_event, bidi_session, header_cookie
97122
):
98123
request = await setup_blocked_request("beforeRequestSent")
99124
await subscribe_events(events=[RESPONSE_COMPLETED_EVENT])
100125

101-
header = Header(name="Cookie", value=NetworkStringValue("a=1"))
126+
header = Header(name="Cookie", value=NetworkStringValue(header_cookie))
102127
cookie = CookieHeader(name="b", value=NetworkStringValue("2"))
103128
on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
104129
await bidi_session.network.continue_request(
@@ -107,6 +132,6 @@ async def test_override_modified_header_cookies(
107132
response_event = await on_response_completed
108133

109134
event_cookies = response_event["request"]["cookies"]
110-
recursive_compare([cookie], event_cookies)
135+
assert event_cookies == []
111136

112137
await bidi_session.storage.delete_cookies()

0 commit comments

Comments
 (0)