1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-13 20:08:55 +00:00

Fix crash when a n hypervisor return no body

This commit is contained in:
Julien Duponchelle 2016-03-16 16:10:06 +01:00
parent 757ee34dac
commit aa6c44a470
No known key found for this signature in database
GPG Key ID: F1E2485547D4595D
2 changed files with 5 additions and 5 deletions

View File

@ -148,7 +148,7 @@ class Hypervisor:
raise aiohttp.web.HTTPConflict(text="Conflict {} {}".format(url, body))
else:
raise NotImplemented("{} status code is not supported".format(e.status))
if len(body):
if body and len(body):
try:
response.json = json.loads(body)
except json.JSONDecodeError:

View File

@ -78,7 +78,7 @@ def test_hypervisor_httpQueryAuth(hypervisor, async_run):
def test_hypervisor_httpQueryNotConnected(hypervisor, async_run):
hypervisor._connected = False
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
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
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):
hypervisor._connected = False
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
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
with pytest.raises(aiohttp.web.HTTPConflict):
@ -101,7 +101,7 @@ def test_hypervisor_httpQueryNotConnectedInvalidVersion(hypervisor, async_run):
def test_hypervisor_httpQueryNotConnectedNonGNS3Server(hypervisor, async_run):
hypervisor._connected = False
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
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
with pytest.raises(aiohttp.web.HTTPConflict):
@ -112,7 +112,7 @@ def test_hypervisor_httpQueryNotConnectedNonGNS3Server(hypervisor, async_run):
def test_hypervisor_httpQueryNotConnectedNonGNS3Server2(hypervisor, async_run):
hypervisor._connected = False
response = AsyncioMagicMock()
response.read = AsyncioMagicMock(return_value = b'{}')
response.read = AsyncioMagicMock(return_value=b'{}')
response.status = 200
with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock:
with pytest.raises(aiohttp.web.HTTPConflict):