tor-browser

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

end.py (2053B)


      1 import pytest
      2 from webdriver.bidi.error import InvalidSessionIDError
      3 
      4 pytestmark = pytest.mark.asyncio
      5 
      6 
      7 @pytest.mark.parametrize("marionette_enabled", [False, True])
      8 async def test_with_marionette_enabled(
      9    new_session, add_browser_capabilities, bidi_client, marionette_enabled
     10 ):
     11    bidi_session = await new_session(
     12        capabilities={"alwaysMatch": add_browser_capabilities({})},
     13        browser_args={"use_marionette": marionette_enabled},
     14    )
     15 
     16    await bidi_session.session.end()
     17 
     18    # Connect the client again.
     19    not_active_bidi_session = await bidi_client(
     20        current_browser=bidi_session.current_browser
     21    )
     22 
     23    # Make sure that command will fail, since the session was closed.
     24    with pytest.raises(InvalidSessionIDError):
     25        await not_active_bidi_session.session.end()
     26 
     27    # Make sure that session can be created.
     28    response = await not_active_bidi_session.session.status()
     29    assert response["ready"] is True
     30 
     31 
     32 async def test_start_session_again(new_session, add_browser_capabilities):
     33    bidi_session = await new_session(
     34        capabilities={"alwaysMatch": add_browser_capabilities({})}
     35    )
     36    first_session_id = bidi_session.session_id
     37 
     38    await bidi_session.session.end()
     39 
     40    # Try to create a session again
     41    bidi_session = await new_session(
     42        capabilities={"alwaysMatch": add_browser_capabilities({})}
     43    )
     44 
     45    assert isinstance(bidi_session.session_id, str)
     46    assert first_session_id != bidi_session.session_id
     47 
     48 
     49 async def test_send_the_command_after_session_end(
     50    new_session, add_browser_capabilities, bidi_client
     51 ):
     52    bidi_session = await new_session(
     53        capabilities={"alwaysMatch": add_browser_capabilities({})},
     54    )
     55 
     56    await bidi_session.session.end()
     57 
     58    # Connect the client again.
     59    not_active_bidi_session = await bidi_client(
     60        current_browser=bidi_session.current_browser
     61    )
     62 
     63    # Make sure that command will fail, since the session was closed.
     64    with pytest.raises(InvalidSessionIDError):
     65        await not_active_bidi_session.session.end()