mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-28 03:08:14 +00:00
Use aiohttp session for docker queries
This commit is contained in:
parent
55563b9808
commit
a571b1a2f8
@ -107,7 +107,8 @@ class Docker(BaseManager):
|
||||
data = json.dumps(data)
|
||||
url = "http://docker/" + path
|
||||
try:
|
||||
response = yield from aiohttp.request(
|
||||
session = aiohttp.ClientSession()
|
||||
response = yield from session.request(
|
||||
method,
|
||||
url,
|
||||
connector=(yield from self.connector()),
|
||||
@ -116,6 +117,7 @@ class Docker(BaseManager):
|
||||
headers={"content-type": "application/json", },
|
||||
timeout=timeout
|
||||
)
|
||||
yield from session.close()
|
||||
except (aiohttp.ClientResponseError, aiohttp.ClientOSError) as e:
|
||||
raise DockerError("Docker has returned an error: {}".format(str(e)))
|
||||
if response.status >= 300:
|
||||
|
@ -44,7 +44,7 @@ def test_query_success(loop, vm):
|
||||
return b'{"c": false}'
|
||||
|
||||
response.read.side_effect = read
|
||||
with asyncio_patch("aiohttp.request", return_value=response) as mock:
|
||||
with asyncio_patch("aiohttp.client.ClientSession.request", return_value=response) as mock:
|
||||
data = loop.run_until_complete(asyncio.async(vm.query("POST", "test", data={"a": True}, params={"b": 1})))
|
||||
mock.assert_called_with('POST',
|
||||
'http://docker/test',
|
||||
@ -67,7 +67,7 @@ def test_query_error(loop, vm):
|
||||
return b"NOT FOUND"
|
||||
|
||||
response.read.side_effect = read
|
||||
with asyncio_patch("aiohttp.request", return_value=response) as mock:
|
||||
with asyncio_patch("aiohttp.client.ClientSession.request", return_value=response) as mock:
|
||||
with pytest.raises(DockerError):
|
||||
data = loop.run_until_complete(asyncio.async(vm.query("POST", "test", data={"a": True}, params={"b": 1})))
|
||||
mock.assert_called_with('POST',
|
||||
@ -89,7 +89,7 @@ def test_query_error_json(loop, vm):
|
||||
return b'{"message": "Error"}'
|
||||
|
||||
response.read.side_effect = read
|
||||
with asyncio_patch("aiohttp.request", return_value=response) as mock:
|
||||
with asyncio_patch("aiohttp.client.ClientSession.request", return_value=response) as mock:
|
||||
with pytest.raises(DockerError):
|
||||
data = loop.run_until_complete(asyncio.async(vm.query("POST", "test", data={"a": True}, params={"b": 1})))
|
||||
mock.assert_called_with('POST',
|
||||
|
Loading…
Reference in New Issue
Block a user