Update package versions.

Do not use Path in schemas (causes issues with empty paths).
Change how notifications are handled.
Run tests with Python 3.9
This commit is contained in:
grossmj committed 2020-11-11 17:18:41 +10:30
1 parent bf19da1dc2
commit acc5c7ebfa
26 files changed
+121 -134

No files matched your search

+1 -1
View File
@@ -1449,7 +1449,7 @@ async def test_start_aux(vm):
with asyncio_patch("asyncio.subprocess.create_subprocess_exec", return_value=MagicMock()) as mock_exec:
await vm._start_aux()
mock_exec.assert_called_with('docker', 'exec', '-i', 'e90e34656842', '/gns3/bin/busybox', 'script', '-qfc', 'while true; do TERM=vt100 /gns3/bin/busybox sh; done', '/dev/null', stderr=asyncio.subprocess.STDOUT, stdin=asyncio.subprocess.PIPE, stdout=asyncio.subprocess.PIPE)
mock_exec.assert_called_with('docker', 'exec', '-i', 'e90e34656842', '/gns3/bin/busybox', 'script', '-qfc', 'while true; do TERM=vt100 /gns3/bin/busybox sh; done', '/dev/null', stderr=asyncio.subprocess.STDOUT, stdin=asyncio.subprocess.PIPE, stdout=asyncio.subprocess.PIPE)
@pytest.mark.asyncio
@@ -57,9 +57,8 @@ GuestMemoryBalloon=0
with asyncio_patch("gns3server.controller.gns3vm.virtualbox_gns3_vm.VirtualBoxGNS3VM._execute", return_value=showvminfo) as mock:
res = await gns3vm._look_for_interface("nat")
mock.assert_called_with('showvminfo', ['GNS3 VM', '--machinereadable'])
assert res == 2
mock.assert_called_with('showvminfo', ['GNS3 VM', '--machinereadable'])
assert res == 2
# with asyncio_patch("gns3server.controller.gns3vm.virtualbox_gns3_vm.VirtualBoxGNS3VM._execute") as mock:
# mock.side_effect = execute_mock
+14 -10
View File
@@ -24,15 +24,19 @@ from gns3server.compute.notification_manager import NotificationManager
@pytest.mark.asyncio
async def test_notification_ws(compute_api):
with compute_api.ws("/notifications/ws") as ws:
# FIXME: how to test websockets
pass
answer = ws.receive_text()
answer = json.loads(answer)
#with compute_api.ws("/notifications/ws") as ws:
assert answer["action"] == "ping"
NotificationManager.instance().emit("test", {})
answer = ws.receive_text()
answer = json.loads(answer)
assert answer["action"] == "test"
# answer = await ws.receive_text()
# print(answer)
# answer = json.loads(answer)
#
# assert answer["action"] == "ping"
#
# NotificationManager.instance().emit("test", {})
#
# answer = await ws.receive_text()
# answer = json.loads(answer)
# assert answer["action"] == "test"
+13 -10
View File
@@ -34,11 +34,12 @@ def get_static(filename):
@pytest.mark.asyncio
async def test_debug(http_client):
response = await http_client.get('/debug')
assert response.status_code == 200
html = response.text
assert "Website" in html
assert __version__ in html
async with http_client as client:
response = await client.get('/debug')
assert response.status_code == 200
html = response.text
assert "Website" in html
assert __version__ in html
# @pytest.mark.asyncio
@@ -68,8 +69,9 @@ async def test_debug(http_client):
@pytest.mark.asyncio
async def test_web_ui(http_client):
response = await http_client.get('/static/web-ui/index.html')
assert response.status_code == 200
async with http_client as client:
response = await client.get('/static/web-ui/index.html')
assert response.status_code == 200
@pytest.mark.asyncio
@@ -77,6 +79,7 @@ async def test_web_ui_not_found(http_client, tmpdir):
with patch('gns3server.utils.get_resource.get_resource') as mock:
mock.return_value = str(tmpdir)
response = await http_client.get('/static/web-ui/not-found.txt')
# should serve web-ui/index.html
assert response.status_code == 200
async with http_client as client:
response = await client.get('/static/web-ui/not-found.txt')
# should serve web-ui/index.html
assert response.status_code == 200