tor-browser

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

invalid.py (2551B)


      1 import pytest
      2 from webdriver.bidi.error import InvalidArgumentException
      3 
      4 from bidi.session.new.support.test_data import flat_invalid_data, invalid_extensions
      5 
      6 pytestmark = pytest.mark.asyncio
      7 
      8 
      9 @pytest.mark.parametrize("value", [None, True, 1, "{}", []])
     10 async def test_params_capabilities_invalid_type(new_session, value):
     11    with pytest.raises(InvalidArgumentException):
     12        await new_session(capabilities=value)
     13 
     14 
     15 @pytest.mark.parametrize("value", [True, 1, "{}", []])
     16 async def test_params_always_match_invalid_type(new_session, value):
     17    with pytest.raises(InvalidArgumentException):
     18        await new_session(capabilities={"alwaysMatch": value})
     19 
     20 
     21 @pytest.mark.parametrize("value", [True, 1, "{}", {}, []])
     22 async def test_params_first_match_invalid_type(new_session, value):
     23    with pytest.raises(InvalidArgumentException):
     24        await new_session(capabilities={"firstMatch": value})
     25 
     26 
     27 @pytest.mark.parametrize("value", [True, 1, "{}", None, []])
     28 async def test_params_first_match_item_invalid_type(new_session, value):
     29    with pytest.raises(InvalidArgumentException):
     30        await new_session(capabilities={"firstMatch": [value]})
     31 
     32 
     33 @pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
     34 @pytest.mark.parametrize("key,value", flat_invalid_data)
     35 async def test_invalid_value(new_session, match_capabilities, match_type, key, value):
     36    capabilities = match_capabilities(match_type, key, value)
     37 
     38    with pytest.raises(InvalidArgumentException):
     39        await new_session(capabilities=capabilities)
     40 
     41 
     42 @pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
     43 @pytest.mark.parametrize("key", invalid_extensions)
     44 async def test_invalid_extension(new_session, match_capabilities, match_type, key):
     45    capabilities = match_capabilities(match_type, key, {})
     46 
     47    with pytest.raises(InvalidArgumentException):
     48        await new_session(capabilities=capabilities)
     49 
     50 
     51 @pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
     52 async def test_invalid_moz_extension(new_session, match_capabilities, match_type):
     53    capabilities = match_capabilities(match_type, "moz:someRandomString", {})
     54 
     55    with pytest.raises(InvalidArgumentException):
     56        await new_session(capabilities=capabilities)
     57 
     58 
     59 async def test_params_with_shadowed_value(new_session):
     60    with pytest.raises(InvalidArgumentException):
     61        await new_session(
     62            capabilities={
     63                "firstMatch": [{"acceptInsecureCerts": True}],
     64                "alwaysMatch": {"acceptInsecureCerts": True},
     65            }
     66        )