Fix test suite after VPCS changes for using ubridge

This commit is contained in:
Julien Duponchelle committed 2016-06-23 12:10:18 +02:00
1 parent 852d8e411e
commit 4c3bfde97e
6 files changed
+25 -15

No files matched your search

+8 -7
View File
@@ -21,9 +21,9 @@ import asyncio
import os
import sys
from tests.utils import asyncio_patch
from tests.utils import asyncio_patch, AsyncioMagicMock
from gns3server.utils import parse_version
from unittest.mock import patch, MagicMock
from unittest.mock import patch, MagicMock, ANY
from gns3server.compute.vpcs.vpcs_vm import VPCSVM
from gns3server.compute.vpcs.vpcs_error import VPCSError
@@ -39,9 +39,10 @@ def manager(port_manager):
@pytest.fixture(scope="function")
def vm(project, manager):
def vm(project, manager, ubridge_path):
vm = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", project, manager)
vm._vpcs_version = parse_version("0.9")
vm._start_ubridge = AsyncioMagicMock()
return vm
@@ -104,9 +105,9 @@ def test_start(loop, vm, async_run):
'-F',
'-R',
'-s',
'4242',
ANY,
'-c',
'4243',
ANY,
'-t',
'127.0.0.1')
assert vm.is_running()
@@ -138,9 +139,9 @@ def test_start_0_6_1(loop, vm):
'1',
'-F',
'-s',
'4242',
ANY,
'-c',
'4243',
ANY,
'-t',
'127.0.0.1')
assert vm.is_running()
+12
View File
@@ -205,6 +205,7 @@ def run_around_tests(monkeypatch, port_manager, controller, config):
os.makedirs(os.path.join(tmppath, 'projects'))
config.set("Server", "projects_path", os.path.join(tmppath, 'projects'))
config.set("Server", "images_path", os.path.join(tmppath, 'images'))
config.set("Server", "ubridge_path", os.path.join(tmppath, 'bin', 'ubridge'))
config.set("Server", "auth", False)
config.set("Server", "controller", True)
@@ -252,6 +253,17 @@ def projects_dir(config):
return path
@pytest.fixture
def ubridge_path(config):
"""
Get the location of a fake ubridge
"""
path = config.get_section_config("Server").get("ubridge_path")
os.makedirs(os.path.dirname(path), exist_ok=True)
open(path, 'w+').close()
return path
@pytest.yield_fixture
def darwin_platform():
"""
+2 -6
View File
@@ -123,10 +123,6 @@ def test_choose_capture_side(async_run, project):
async_run(link.add_node(node_vpcs, 0, 4))
async_run(link.add_node(node_vpcs2, 3, 1))
# VPCS doesn't support capture
with pytest.raises(aiohttp.web.HTTPConflict):
link._choose_capture_side()["node"]
# Capture should run on the local node
node_iou = Node(project, compute1, "node1", node_type="iou")
node_iou2 = Node(project, compute2, "node2", node_type="iou")
@@ -151,7 +147,7 @@ def test_capture(async_run, project):
capture = async_run(link.start_capture())
assert link.capturing
compute1.post.assert_any_call("/projects/{}/iou/nodes/{}/adapters/3/ports/1/start_capture".format(project.id, node_iou.id), data={
compute1.post.assert_any_call("/projects/{}/vpcs/nodes/{}/adapters/0/ports/4/start_capture".format(project.id, node_vpcs.id), data={
"capture_file_name": link.default_capture_file_name(),
"data_link_type": "DLT_EN10MB"
})
@@ -159,7 +155,7 @@ def test_capture(async_run, project):
capture = async_run(link.stop_capture())
assert link.capturing is False
compute1.post.assert_any_call("/projects/{}/iou/nodes/{}/adapters/3/ports/1/stop_capture".format(project.id, node_iou.id))
compute1.post.assert_any_call("/projects/{}/vpcs/nodes/{}/adapters/0/ports/4/stop_capture".format(project.id, node_vpcs.id))
def test_read_pcap_from_source(project, async_run):
@@ -33,7 +33,6 @@ from gns3server.controller import Controller
from gns3server.controller.drawing import Drawing
@pytest.fixture
def project(http_controller, async_run):
return async_run(Controller.instance().add_project())