From 3c43ef693808b523ac5f8dbd93a300a8fbfb30f3 Mon Sep 17 00:00:00 2001 From: Romuald Brunet Date: Tue, 2 Aug 2022 15:54:52 +0200 Subject: [PATCH] Fix httpx DeprecationWarning for post data In the httpx module, `data=x` has been deprecated in favor of `content=x` in version 0.18.0 (April 2021) As a side effect, this fixes the test suite since pytest-httpx removed the `data=` mock in version 0.18.0 (January 2022) --- setup.py | 2 +- src/zeep/transports.py | 2 +- tests/test_async_transport.py | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index 4cf9073b..b82dcafb 100755 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ "sphinx>=1.4.0", ] -async_require = ["httpx"] +async_require = ["httpx>=0.15.0"] xmlsec_require = [ "xmlsec>=0.6.1", diff --git a/src/zeep/transports.py b/src/zeep/transports.py index 0841e2f1..ffde356b 100644 --- a/src/zeep/transports.py +++ b/src/zeep/transports.py @@ -218,7 +218,7 @@ async def post(self, address, message, headers): self.logger.debug("HTTP Post to %s:\n%s", address, message) response = await self.client.post( address, - data=message, + content=message, headers=headers, ) self.logger.debug( diff --git a/tests/test_async_transport.py b/tests/test_async_transport.py index f5e8d1b0..08f2b0f4 100644 --- a/tests/test_async_transport.py +++ b/tests/test_async_transport.py @@ -19,7 +19,7 @@ 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") + httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", content="x") result = transport.load("http://tests.python-zeep.org/test.xml") assert result == b"x" @@ -30,7 +30,7 @@ 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") + httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", content="x") result = transport.load("http://tests.python-zeep.org/test.xml") assert result == b"x" @@ -45,7 +45,7 @@ async def test_post(httpx_mock: HTTPXMock): envelope = etree.Element("Envelope") - httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x") + httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", content="x") result = await transport.post_xml( "http://tests.python-zeep.org/test.xml", envelope=envelope, headers={} ) @@ -67,7 +67,7 @@ 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 + url="http://tests.python-zeep.org/test.xml", content="x", status_code=500 ) with pytest.raises(exceptions.TransportError) as exc: transport.load("http://tests.python-zeep.org/test.xml")