mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
Async qemu monitor reading
This commit is contained in:
1 parent
45a48cfcc1
commit
cecf2f5014
5 files changed
+74
-16
No files matched your search
@@ -103,6 +103,13 @@ def test_qemu_suspend(server, vm):
|
||||
assert response.status == 204
|
||||
|
||||
|
||||
def test_qemu_resume(server, vm):
|
||||
with asyncio_patch("gns3server.modules.qemu.qemu_vm.QemuVM.resume", return_value=True) as mock:
|
||||
response = server.post("/projects/{project_id}/qemu/vms/{vm_id}/resume".format(project_id=vm["project_id"], vm_id=vm["vm_id"]))
|
||||
assert mock.called
|
||||
assert response.status == 204
|
||||
|
||||
|
||||
def test_qemu_delete(server, vm):
|
||||
with asyncio_patch("gns3server.modules.qemu.Qemu.delete_vm", return_value=True) as mock:
|
||||
response = server.delete("/projects/{project_id}/qemu/vms/{vm_id}".format(project_id=vm["project_id"], vm_id=vm["vm_id"]))
|
||||
|
||||
@@ -203,3 +203,33 @@ def test_json(vm, project):
|
||||
json = vm.__json__()
|
||||
assert json["name"] == vm.name
|
||||
assert json["project_id"] == project.id
|
||||
|
||||
|
||||
def test_control_vm(vm, loop):
|
||||
|
||||
vm._process = MagicMock()
|
||||
vm._monitor = 4242
|
||||
reader = MagicMock()
|
||||
writer = MagicMock()
|
||||
with asyncio_patch("asyncio.open_connection", return_value=(reader, writer)) as open_connect:
|
||||
res = loop.run_until_complete(asyncio.async(vm._control_vm("test")))
|
||||
assert writer.write.called_with("test")
|
||||
assert res is None
|
||||
|
||||
|
||||
def test_control_vm_expect_text(vm, loop):
|
||||
|
||||
vm._process = MagicMock()
|
||||
vm._monitor = 4242
|
||||
reader = MagicMock()
|
||||
writer = MagicMock()
|
||||
with asyncio_patch("asyncio.open_connection", return_value=(reader, writer)) as open_connect:
|
||||
|
||||
future = asyncio.Future()
|
||||
future.set_result("epic product")
|
||||
reader.readline.return_value = future
|
||||
|
||||
res = loop.run_until_complete(asyncio.async(vm._control_vm("test", ["epic"])))
|
||||
assert writer.write.called_with("test")
|
||||
|
||||
assert res == "epic product"
|
||||
Reference in new issue
Block a user