mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-01-18 15:33:49 +02:00
Fix crash when a n hypervisor return no body
This commit is contained in:
parent
757ee34dac
commit
aa6c44a470
@ -148,7 +148,7 @@ class Hypervisor:
|
|||||||
raise aiohttp.web.HTTPConflict(text="Conflict {} {}".format(url, body))
|
raise aiohttp.web.HTTPConflict(text="Conflict {} {}".format(url, body))
|
||||||
else:
|
else:
|
||||||
raise NotImplemented("{} status code is not supported".format(e.status))
|
raise NotImplemented("{} status code is not supported".format(e.status))
|
||||||
if len(body):
|
if body and len(body):
|
||||||
try:
|
try:
|
||||||
response.json = json.loads(body)
|
response.json = json.loads(body)
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
|
@ -78,7 +78,7 @@ def test_hypervisor_httpQueryAuth(hypervisor, async_run):
|
|||||||
def test_hypervisor_httpQueryNotConnected(hypervisor, async_run):
|
def test_hypervisor_httpQueryNotConnected(hypervisor, async_run):
|
||||||
hypervisor._connected = False
|
hypervisor._connected = False
|
||||||
response = AsyncioMagicMock()
|
response = AsyncioMagicMock()
|
||||||
response.read = AsyncioMagicMock(return_value = json.dumps({"version": __version__}).encode())
|
response.read = AsyncioMagicMock(return_value=json.dumps({"version": __version__}).encode())
|
||||||
response.status = 200
|
response.status = 200
|
||||||
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
||||||
async_run(hypervisor.post("/projects", {"a": "b"}))
|
async_run(hypervisor.post("/projects", {"a": "b"}))
|
||||||
@ -90,7 +90,7 @@ def test_hypervisor_httpQueryNotConnected(hypervisor, async_run):
|
|||||||
def test_hypervisor_httpQueryNotConnectedInvalidVersion(hypervisor, async_run):
|
def test_hypervisor_httpQueryNotConnectedInvalidVersion(hypervisor, async_run):
|
||||||
hypervisor._connected = False
|
hypervisor._connected = False
|
||||||
response = AsyncioMagicMock()
|
response = AsyncioMagicMock()
|
||||||
response.read = AsyncioMagicMock(return_value = json.dumps({"version": "1.42.4"}).encode())
|
response.read = AsyncioMagicMock(return_value=json.dumps({"version": "1.42.4"}).encode())
|
||||||
response.status = 200
|
response.status = 200
|
||||||
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
||||||
with pytest.raises(aiohttp.web.HTTPConflict):
|
with pytest.raises(aiohttp.web.HTTPConflict):
|
||||||
@ -101,7 +101,7 @@ def test_hypervisor_httpQueryNotConnectedInvalidVersion(hypervisor, async_run):
|
|||||||
def test_hypervisor_httpQueryNotConnectedNonGNS3Server(hypervisor, async_run):
|
def test_hypervisor_httpQueryNotConnectedNonGNS3Server(hypervisor, async_run):
|
||||||
hypervisor._connected = False
|
hypervisor._connected = False
|
||||||
response = AsyncioMagicMock()
|
response = AsyncioMagicMock()
|
||||||
response.read = AsyncioMagicMock(return_value = b'Blocked by super antivirus')
|
response.read = AsyncioMagicMock(return_value=b'Blocked by super antivirus')
|
||||||
response.status = 200
|
response.status = 200
|
||||||
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
||||||
with pytest.raises(aiohttp.web.HTTPConflict):
|
with pytest.raises(aiohttp.web.HTTPConflict):
|
||||||
@ -112,7 +112,7 @@ def test_hypervisor_httpQueryNotConnectedNonGNS3Server(hypervisor, async_run):
|
|||||||
def test_hypervisor_httpQueryNotConnectedNonGNS3Server2(hypervisor, async_run):
|
def test_hypervisor_httpQueryNotConnectedNonGNS3Server2(hypervisor, async_run):
|
||||||
hypervisor._connected = False
|
hypervisor._connected = False
|
||||||
response = AsyncioMagicMock()
|
response = AsyncioMagicMock()
|
||||||
response.read = AsyncioMagicMock(return_value = b'{}')
|
response.read = AsyncioMagicMock(return_value=b'{}')
|
||||||
response.status = 200
|
response.status = 200
|
||||||
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
|
||||||
with pytest.raises(aiohttp.web.HTTPConflict):
|
with pytest.raises(aiohttp.web.HTTPConflict):
|
||||||
|
Loading…
Reference in New Issue
Block a user