tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

response.py (2424B)


      1 # META: timeout=long
      2 
      3 import uuid
      4 
      5 import pytest
      6 
      7 pytestmark = pytest.mark.asyncio
      8 
      9 
     10 async def test_session_id(new_session, add_browser_capabilities):
     11    bidi_session = await new_session(
     12        capabilities={"alwaysMatch": add_browser_capabilities({})}
     13    )
     14    assert isinstance(bidi_session.session_id, str)
     15    uuid.UUID(hex=bidi_session.session_id)
     16 
     17 
     18 async def test_capability_type(new_session, add_browser_capabilities):
     19    bidi_session = await new_session(
     20        capabilities={"alwaysMatch": add_browser_capabilities({})}
     21    )
     22 
     23    default_capability_types = [
     24        ("acceptInsecureCerts", bool),
     25        ("browserName", str),
     26        ("browserVersion", str),
     27        ("platformName", str),
     28        ("proxy", dict),
     29        ("setWindowRect", bool),
     30        ("userAgent", str),
     31    ]
     32 
     33    assert isinstance(bidi_session.capabilities, dict)
     34 
     35    for capability, type in default_capability_types:
     36        assert isinstance(bidi_session.capabilities[capability], type)
     37 
     38 
     39 async def test_capability_default_value(new_session, add_browser_capabilities):
     40    bidi_session = await new_session(
     41        capabilities={"alwaysMatch": add_browser_capabilities({})}
     42    )
     43    assert isinstance(bidi_session.capabilities, dict)
     44 
     45    default_capability_values = [
     46        ("acceptInsecureCerts", False),
     47        ("proxy", {}),
     48    ]
     49 
     50    for capability, value in default_capability_values:
     51        assert bidi_session.capabilities[capability] == value
     52 
     53 
     54 async def test_ignore_non_spec_fields_in_capabilities(
     55    new_session, add_browser_capabilities
     56 ):
     57    bidi_session = await new_session(
     58        capabilities={
     59            "alwaysMatch": add_browser_capabilities({}),
     60            "nonSpecCapabilities": {"acceptInsecureCerts": True},
     61        }
     62    )
     63 
     64    assert bidi_session.capabilities["acceptInsecureCerts"] is False
     65 
     66 
     67 @pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
     68 @pytest.mark.parametrize(
     69    "key, value",
     70    [
     71        ("pageLoadStrategy", "none"),
     72        ("strictFileInteractability", True),
     73        ("timeouts", {"script": 500}),
     74    ],
     75 )
     76 async def test_with_webdriver_classic_capabilities(
     77    new_session, match_capabilities, match_type, key, value
     78 ):
     79    capabilities = match_capabilities(match_type, key, value)
     80 
     81    bidi_session = await new_session(capabilities=capabilities)
     82 
     83    assert isinstance(bidi_session.capabilities, dict)
     84    assert key not in bidi_session.capabilities