Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

import pytest
from webdriver.bidi.error import InvalidArgumentException
from bidi.session.new.support.test_data import flat_invalid_data, invalid_extensions
pytestmark = pytest.mark.asyncio
@pytest.mark.parametrize("value", [None, True, 1, "{}", []])
async def test_params_capabilities_invalid_type(new_session, value):
with pytest.raises(InvalidArgumentException):
await new_session(capabilities=value)
@pytest.mark.parametrize("value", [True, 1, "{}", []])
async def test_params_always_match_invalid_type(new_session, value):
with pytest.raises(InvalidArgumentException):
await new_session(capabilities={"alwaysMatch": value})
@pytest.mark.parametrize("value", [True, 1, "{}", {}, []])
async def test_params_first_match_invalid_type(new_session, value):
with pytest.raises(InvalidArgumentException):
await new_session(capabilities={"firstMatch": value})
@pytest.mark.parametrize("value", [True, 1, "{}", None, []])
async def test_params_first_match_item_invalid_type(new_session, value):
with pytest.raises(InvalidArgumentException):
await new_session(capabilities={"firstMatch": [value]})
@pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
@pytest.mark.parametrize("key,value", flat_invalid_data)
async def test_invalid_value(new_session, match_capabilities, match_type, key, value):
capabilities = match_capabilities(match_type, key, value)
with pytest.raises(InvalidArgumentException):
await new_session(capabilities=capabilities)
@pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
@pytest.mark.parametrize("key", invalid_extensions)
async def test_invalid_extension(new_session, match_capabilities, match_type, key):
capabilities = match_capabilities(match_type, key, {})
with pytest.raises(InvalidArgumentException):
await new_session(capabilities=capabilities)
@pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"])
async def test_invalid_moz_extension(new_session, match_capabilities, match_type):
capabilities = match_capabilities(match_type, "moz:someRandomString", {})
with pytest.raises(InvalidArgumentException):
await new_session(capabilities=capabilities)
async def test_params_with_shadowed_value(new_session):
with pytest.raises(InvalidArgumentException):
await new_session(
capabilities={
"firstMatch": [{"acceptInsecureCerts": True}],
"alwaysMatch": {"acceptInsecureCerts": True},
}
)