def test_load(event_loop): cache = stub(get=lambda url: None, add=lambda url, content: None) transport = asyncio.AsyncTransport(loop=event_loop, cache=cache) with aioresponses() as m: m.get('http://tests.python-zeep.org/test.xml', body='x') result = transport.load('http://tests.python-zeep.org/test.xml') assert result == b'x'
def test_http_error(event_loop): transport = asyncio.AsyncTransport(loop=event_loop) with aioresponses() as m: m.get("http://tests.python-zeep.org/test.xml", body="x", status=500) with pytest.raises(exceptions.TransportError) as exc: transport.load("http://tests.python-zeep.org/test.xml") assert exc.value.status_code == 500 assert exc.value.message is None
def test_load_cache(event_loop): cache = InMemoryCache() transport = asyncio.AsyncTransport(loop=event_loop, cache=cache) with aioresponses() as m: m.get("http://tests.python-zeep.org/test.xml", body="x") result = transport.load("http://tests.python-zeep.org/test.xml") assert result == b"x" assert cache.get("http://tests.python-zeep.org/test.xml") == b"x"
async def test_post(event_loop): cache = stub(get=lambda url: None, add=lambda url, content: None) transport = asyncio.AsyncTransport(loop=event_loop, cache=cache) envelope = etree.Element('Envelope') with aioresponses() as m: m.post('http://tests.python-zeep.org/test.xml', body='x') result = await transport.post_xml( 'http://tests.python-zeep.org/test.xml', envelope=envelope, headers={}) assert result.content == b'x'
async def test_session_no_close(event_loop): session = aiohttp.ClientSession(loop=event_loop) transport = asyncio.AsyncTransport(loop=event_loop, session=session) del transport assert not session.closed
async def test_session_close(event_loop): transport = asyncio.AsyncTransport(loop=event_loop) session = transport.session # copy session object from transport del transport assert session.closed
def test_no_cache(event_loop): transport = asyncio.AsyncTransport(loop=event_loop) assert transport.cache is None