Example #1
0
 async def maker(*args, **kwargs):
     nonlocal session
     session = ClientSession(*args,
                             loop=loop,
                             render='pyppetter',
                             pyppeteer_options={'headless': False},
                             **kwargs)
     await session.init_session()
     return session
Example #2
0
async def test_client_session_timeout_args(loop) -> None:
    session1 = ClientSession(loop=loop)
    assert session1._timeout == client.DEFAULT_TIMEOUT

    with pytest.warns(DeprecationWarning):
        session2 = ClientSession(loop=loop,
                                 read_timeout=20 * 60,
                                 conn_timeout=30 * 60)
    assert session2._timeout == client.ClientTimeout(total=20 * 60,
                                                     connect=30 * 60)

    with pytest.raises(ValueError):
        ClientSession(loop=loop,
                      timeout=client.ClientTimeout(total=10 * 60),
                      read_timeout=20 * 60)

    with pytest.raises(ValueError):
        ClientSession(loop=loop,
                      timeout=client.ClientTimeout(total=10 * 60),
                      conn_timeout=30 * 60)
Example #3
0
async def test_del(connector, loop) -> None:
    loop.set_debug(False)
    # N.B. don't use session fixture, it stores extra reference internally
    session = ClientSession(connector=connector, loop=loop)
    logs = []
    loop.set_exception_handler(lambda loop, ctx: logs.append(ctx))

    with pytest.warns(ResourceWarning):
        del session
        gc.collect()

    assert len(logs) == 1
    expected = {
        'client_session': mock.ANY,
        'message': 'Unclosed client session'
    }
    assert logs[0] == expected
Example #4
0
async def test_requote_redirect_setter() -> None:
    session = ClientSession()
    assert session.requote_redirect_url
    with pytest.warns(DeprecationWarning):
        session.requote_redirect_url = False
    assert not session.requote_redirect_url
Example #5
0
async def test_requote_redirect_url_default_disable() -> None:
    session = ClientSession(requote_redirect_url=False)
    assert not session.requote_redirect_url
Example #6
0
async def test_requote_redirect_url_default() -> None:
    session = ClientSession()
    assert session.requote_redirect_url
Example #7
0
async def test_client_session_custom_attr(loop) -> None:
    session = ClientSession(loop=loop)
    with pytest.warns(DeprecationWarning):
        session.custom = None
Example #8
0
async def test_borrow_connector_loop(connector, create_session, loop) -> None:
    session = ClientSession(connector=connector, loop=None)
    try:
        assert session._loop, loop
    finally:
        await session.close()
Example #9
0
async def test_context_manager(connector, loop) -> None:
    with pytest.raises(TypeError):
        with ClientSession(loop=loop, connector=connector) as session:
            pass

        assert session.closed
Example #10
0
 async def maker(*args, **kwargs):
     nonlocal session
     session = ClientSession(*args, loop=loop, **kwargs)
     return session
Example #11
0
 async def make_sess():
     return ClientSession(connector=connector, loop=loop)
Example #12
0
 async def maker(*args, **kwargs):
     nonlocal session
     session = ClientSession(*args, loop=loop, render='pyppetter', **kwargs)
     await session.init_session()
     return session