コード例 #1
0
def test_load(httpx_mock):
    cache = stub(get=lambda url: None, add=lambda url, content: None)
    transport = AsyncTransport(cache=cache)

    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml",
                            data="x")
    result = transport.load("http://tests.python-zeep.org/test.xml")
    assert result == b"x"
コード例 #2
0
async def test_http_error(httpx_mock: HTTPXMock):
    transport = AsyncTransport()

    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml",
                            data="x",
                            status_code=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
コード例 #3
0
def test_load_cache(httpx_mock):
    cache = InMemoryCache()
    transport = AsyncTransport(cache=cache)

    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml",
                            data="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"
コード例 #4
0
async def main():
    client = AsyncClient(
        wsdl="http://localhost:8080/say_hello/?WSDL",
        transport=AsyncTransport(cache=InMemoryCache(timeout=None)),
    )
    await send_messages(client)
    await client.transport.aclose()
コード例 #5
0
async def test_post(httpx_mock: HTTPXMock):
    cache = stub(get=lambda url: None, add=lambda url, content: None)
    transport = AsyncTransport(cache=cache)

    envelope = etree.Element("Envelope")

    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml",
                            data="x")
    result = await transport.post_xml("http://tests.python-zeep.org/test.xml",
                                      envelope=envelope,
                                      headers={})

    assert result.content == b"x"
    await transport.aclose()
コード例 #6
0
    def makeRequest(self, func, data):
        result = []

        def handle_future(future):
            result.extend(future.result())

        loop = asyncio.get_event_loop()

        transport = AsyncTransport(loop, cache=None)
        client = zeep.Client(self.PATH, transport=transport)

        tasks = [getattr(client.service, func)(**data)]
        future = asyncio.gather(*tasks, return_exceptions=True)

        future.add_done_callback(handle_future)

        # st = time.time()
        loop.run_until_complete(future)
        loop.run_until_complete(transport.session.close())
        # print("time: %.2f" % (time.time() - st))
        return result
コード例 #7
0
async def test_session_close(httpx_mock: HTTPXMock):
    transport = AsyncTransport()
    return await transport.aclose()
コード例 #8
0
def test_no_cache(event_loop):
    transport = AsyncTransport()
    assert transport.cache is None