From f2cdcb7e9550e74d07ed6cf17bbcb9643aeedb99 Mon Sep 17 00:00:00 2001 From: Butkovits Atila Date: Fri, 24 May 2024 11:37:11 +0000 Subject: [PATCH] Backed out 8 changesets (bug 1898565, bug 1880803, bug 1850680) for causing high frequency failures at url_patterns.py . CLOSED TREE Backed out changeset 2e388b7f6f91 (bug 1898565) Backed out changeset 3147811b0446 (bug 1850680) Backed out changeset 9a98ace82049 (bug 1850680) Backed out changeset 8ff3dc16fcf9 (bug 1850680) Backed out changeset 1c4084febc9c (bug 1850680) Backed out changeset aeeda14ca643 (bug 1850680) Backed out changeset fb750d3b365d (bug 1880803) Backed out changeset 4d63b73b4125 (bug 1880803) gecko-commit: c5f0d71de69cf598d009f69c9ddf56fb6058bc9e --- webdriver/tests/bidi/network/conftest.py | 3 +- .../bidi/network/continue_request/body.py | 37 ------- .../bidi/network/continue_request/cookies.py | 104 ------------------ .../bidi/network/continue_request/headers.py | 60 ---------- .../bidi/network/continue_request/invalid.py | 34 ------ .../bidi/network/continue_request/method.py | 37 ------- 6 files changed, 1 insertion(+), 274 deletions(-) delete mode 100644 webdriver/tests/bidi/network/continue_request/body.py delete mode 100644 webdriver/tests/bidi/network/continue_request/cookies.py delete mode 100644 webdriver/tests/bidi/network/continue_request/headers.py delete mode 100644 webdriver/tests/bidi/network/continue_request/method.py diff --git a/webdriver/tests/bidi/network/conftest.py b/webdriver/tests/bidi/network/conftest.py index 97f392b0818e4e..424fa8b5c75d73 100644 --- a/webdriver/tests/bidi/network/conftest.py +++ b/webdriver/tests/bidi/network/conftest.py @@ -66,7 +66,6 @@ async def setup_blocked_request( password="password", realm="test", navigate=False, - **kwargs, ): await setup_network_test(events=[f"network.{phase}"]) @@ -100,7 +99,7 @@ async def setup_blocked_request( ) ) else: - asyncio.ensure_future(fetch(blocked_url, context=context, **kwargs)) + asyncio.ensure_future(fetch(blocked_url, context=context)) event = await wait_for_future_safe(network_event) request = event["request"]["request"] diff --git a/webdriver/tests/bidi/network/continue_request/body.py b/webdriver/tests/bidi/network/continue_request/body.py deleted file mode 100644 index da7cff78a502cc..00000000000000 --- a/webdriver/tests/bidi/network/continue_request/body.py +++ /dev/null @@ -1,37 +0,0 @@ -import pytest - -from webdriver.bidi.modules.network import NetworkStringValue - -from ... import recursive_compare -from .. import assert_response_event, RESPONSE_COMPLETED_EVENT - -pytestmark = pytest.mark.asyncio - - -@pytest.mark.parametrize( - "request_post_data, modified_post_data, expected_size", - [ - ["{'a': 1}", "", 0], - [None, "{'a': 123}", 10], - ["{'a': 1}", "{'a': 12345678}", 15], - ], -) -async def test_request_body( - bidi_session, - setup_blocked_request, - subscribe_events, - wait_for_event, - request_post_data, - modified_post_data, - expected_size, -): - request = await setup_blocked_request( - "beforeRequestSent", method="POST", post_data=request_post_data - ) - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - body = NetworkStringValue(modified_post_data) - await bidi_session.network.continue_request(request=request, body=body) - response_event = await on_response_completed - assert response_event["request"]["bodySize"] == expected_size diff --git a/webdriver/tests/bidi/network/continue_request/cookies.py b/webdriver/tests/bidi/network/continue_request/cookies.py deleted file mode 100644 index eb79529ab1c8a2..00000000000000 --- a/webdriver/tests/bidi/network/continue_request/cookies.py +++ /dev/null @@ -1,104 +0,0 @@ -import pytest - -from webdriver.bidi.modules.network import CookieHeader, Header, NetworkStringValue -from webdriver.bidi.modules.script import ContextTarget - -from ... import recursive_compare -from .. import assert_response_event, RESPONSE_COMPLETED_EVENT - -pytestmark = pytest.mark.asyncio - - -@pytest.mark.parametrize( - "document_cookies, modified_cookies", - [ - [{"a": "1"}, {}], - [{}, {"b": "2"}], - [{"a": "1", "b": "2"}, {"c": "3", "d": "4"}], - [{"a": "1"}, {"a": "not-1"}], - ], -) -async def test_modify_cookies( - setup_blocked_request, - subscribe_events, - wait_for_event, - bidi_session, - top_context, - document_cookies, - modified_cookies, -): - expression = "" - for name, value in document_cookies.items(): - expression += f"document.cookie = '{name}={value}';" - - await bidi_session.script.evaluate( - expression=expression, - target=ContextTarget(top_context["context"]), - await_promise=False, - ) - - request = await setup_blocked_request("beforeRequestSent") - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - cookies = [] - for name, value in modified_cookies.items(): - cookies.append(CookieHeader(name=name, value=NetworkStringValue(value))) - - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - await bidi_session.network.continue_request(request=request, cookies=cookies) - response_event = await on_response_completed - - event_cookies = response_event["request"]["cookies"] - assert len(event_cookies) == len(cookies) - for cookie in cookies: - event_cookie = next( - filter(lambda c: c["name"] == cookie["name"], event_cookies), None - ) - recursive_compare(cookie, event_cookie) - - await bidi_session.storage.delete_cookies() - - -async def test_override_header_cookie( - setup_blocked_request, - subscribe_events, - wait_for_event, - bidi_session, -): - request = await setup_blocked_request( - "beforeRequestSent", headers={"Cookie": "a=1"} - ) - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - cookie = CookieHeader(name="b", value=NetworkStringValue("2")) - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - await bidi_session.network.continue_request(request=request, cookies=[cookie]) - response_event = await on_response_completed - - event_cookies = response_event["request"]["cookies"] - recursive_compare([cookie], event_cookies) - - await bidi_session.storage.delete_cookies() - - -async def test_override_modified_header_cookies( - setup_blocked_request, - subscribe_events, - wait_for_event, - bidi_session, -): - request = await setup_blocked_request("beforeRequestSent") - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - header = Header(name="Cookie", value=NetworkStringValue("a=1")) - cookie = CookieHeader(name="b", value=NetworkStringValue("2")) - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - await bidi_session.network.continue_request( - request=request, headers=[header], cookies=[cookie] - ) - response_event = await on_response_completed - - event_cookies = response_event["request"]["cookies"] - recursive_compare([cookie], event_cookies) - - await bidi_session.storage.delete_cookies() diff --git a/webdriver/tests/bidi/network/continue_request/headers.py b/webdriver/tests/bidi/network/continue_request/headers.py deleted file mode 100644 index 11106c7720883d..00000000000000 --- a/webdriver/tests/bidi/network/continue_request/headers.py +++ /dev/null @@ -1,60 +0,0 @@ -import pytest - -from webdriver.bidi.modules.network import Header, NetworkStringValue -from webdriver.bidi.modules.script import ContextTarget - -from .. import assert_response_event, RESPONSE_COMPLETED_EVENT - -pytestmark = pytest.mark.asyncio - - -@pytest.mark.parametrize( - "request_headers, modified_headers", - [ - [{"a": "1"}, {}], - [{}, {"b": "2"}], - [{"a": "1", "b": "2"}, {"c": "3", "d": "4"}], - [{"a": "1"}, {"a": "not-1"}], - ], -) -async def test_modify_headers( - setup_blocked_request, - subscribe_events, - wait_for_event, - bidi_session, - request_headers, - modified_headers, -): - request = await setup_blocked_request("beforeRequestSent", headers=request_headers) - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - headers = [] - for name, value in modified_headers.items(): - headers.append(Header(name=name, value=NetworkStringValue(value))) - - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - await bidi_session.network.continue_request(request=request, headers=headers) - response_event = await on_response_completed - assert_response_event(response_event, expected_request={"headers": headers}) - - -async def test_override_cookies( - setup_blocked_request, - subscribe_events, - wait_for_event, - bidi_session, - top_context, -): - await bidi_session.script.evaluate( - expression="document.cookie = 'foo=bar';", - target=ContextTarget(top_context["context"]), - await_promise=False, - ) - - request = await setup_blocked_request("beforeRequestSent") - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - await bidi_session.network.continue_request(request=request, headers=[]) - response_event = await on_response_completed - assert len(response_event["request"]["cookies"]) == 0 diff --git a/webdriver/tests/bidi/network/continue_request/invalid.py b/webdriver/tests/bidi/network/continue_request/invalid.py index 9a1a3166f8b47a..d7cfa629c08516 100644 --- a/webdriver/tests/bidi/network/continue_request/invalid.py +++ b/webdriver/tests/bidi/network/continue_request/invalid.py @@ -192,19 +192,6 @@ async def test_params_headers_header_name_invalid_type( ) -@pytest.mark.parametrize("value", ["", "\u0000", "\"", "{","\u0080"]) -async def test_params_headers_header_name_invalid_value( - setup_blocked_request, bidi_session, value -): - request = await setup_blocked_request("beforeRequestSent") - - with pytest.raises(error.InvalidArgumentException): - await bidi_session.network.continue_request( - request=request, - headers=[create_header(overrides={"name": value})], - ) - - @pytest.mark.parametrize("value", [None, False, 42, "foo", []]) async def test_params_headers_header_value_invalid_type( setup_blocked_request, bidi_session, value @@ -270,19 +257,6 @@ async def test_params_headers_header_value_value_invalid_type( ) -@pytest.mark.parametrize("value", [" a", "a ", "\ta", "a\t", "a\nb", "a\0b"]) -async def test_params_headers_header_value_value_invalid_value( - setup_blocked_request, bidi_session, value -): - request = await setup_blocked_request("beforeRequestSent") - - with pytest.raises(error.InvalidArgumentException): - await bidi_session.network.continue_request( - request=request, - headers=[create_header(value_overrides={"value": value})], - ) - - @pytest.mark.parametrize("value", [False, 42, {}, []]) async def test_params_method_invalid_type(setup_blocked_request, bidi_session, value): request = await setup_blocked_request("beforeRequestSent") @@ -291,14 +265,6 @@ async def test_params_method_invalid_type(setup_blocked_request, bidi_session, v await bidi_session.network.continue_request(request=request, method=value) -@pytest.mark.parametrize("value", ["", "\u0000", "\"", "{","\u0080"]) -async def test_params_method_invalid_value(setup_blocked_request, bidi_session, value): - request = await setup_blocked_request("beforeRequestSent") - - with pytest.raises(error.InvalidArgumentException): - await bidi_session.network.continue_request(request=request, method=value) - - @pytest.mark.parametrize("value", [None, False, 42, {}, []]) async def test_params_request_invalid_type(bidi_session, value): with pytest.raises(error.InvalidArgumentException): diff --git a/webdriver/tests/bidi/network/continue_request/method.py b/webdriver/tests/bidi/network/continue_request/method.py deleted file mode 100644 index ed342913adb486..00000000000000 --- a/webdriver/tests/bidi/network/continue_request/method.py +++ /dev/null @@ -1,37 +0,0 @@ -import pytest - -from webdriver.bidi.modules.script import ContextTarget - -from ... import recursive_compare -from .. import assert_response_event, RESPONSE_COMPLETED_EVENT - -pytestmark = pytest.mark.asyncio - -METHODS = [ - "DELETE", - "GET", - "HEAD", - "OPTIONS", - "PATCH", - "POST", - "PUT", -] - - -@pytest.mark.parametrize("request_method", METHODS) -@pytest.mark.parametrize("updated_method", METHODS) -async def test_request_method( - setup_blocked_request, - subscribe_events, - wait_for_event, - bidi_session, - request_method, - updated_method, -): - request = await setup_blocked_request("beforeRequestSent", method=request_method) - await subscribe_events(events=[RESPONSE_COMPLETED_EVENT]) - - on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT) - await bidi_session.network.continue_request(request=request, method=updated_method) - response_event = await on_response_completed - assert_response_event(response_event, expected_request={"method": updated_method})