mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-04-28 15:02:16 +00:00
Upgrade dev dependencies and fix issues after upgrading to pytest-aiohttp v1.0.4
This commit is contained in:
parent
9e5ca50302
commit
d1c8f33fc5
@ -1,6 +1,6 @@
|
|||||||
-rrequirements.txt
|
-rrequirements.txt
|
||||||
|
|
||||||
pytest==7.0.0
|
pytest==7.1.2
|
||||||
flake8==4.0.1
|
flake8==5.0.4
|
||||||
pytest-timeout==1.4.2
|
pytest-timeout==2.1.0
|
||||||
pytest-aiohttp==0.3.0
|
pytest-aiohttp==1.0.4
|
||||||
|
@ -147,7 +147,7 @@ class Route(object):
|
|||||||
else:
|
else:
|
||||||
route = path
|
route = path
|
||||||
|
|
||||||
# Compute metadata for the documentation
|
# Compute metadata for the documentation
|
||||||
if api_version:
|
if api_version:
|
||||||
handler = func.__module__.replace("_handler", "").replace("gns3server.handlers.api.", "")
|
handler = func.__module__.replace("_handler", "").replace("gns3server.handlers.api.", "")
|
||||||
cls._documentation.setdefault(handler, {})
|
cls._documentation.setdefault(handler, {})
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
import uuid
|
import uuid
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
from unittest.mock import MagicMock, patch, call
|
from unittest.mock import MagicMock, patch, call
|
||||||
|
|
||||||
from gns3server.compute.builtin.nodes.cloud import Cloud
|
from gns3server.compute.builtin.nodes.cloud import Cloud
|
||||||
@ -30,8 +31,8 @@ def nio():
|
|||||||
return NIOUDP(4242, "127.0.0.1", 4343)
|
return NIOUDP(4242, "127.0.0.1", 4343)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop):
|
async def manager():
|
||||||
|
|
||||||
m = MagicMock()
|
m = MagicMock()
|
||||||
m.module_name = "builtins"
|
m.module_name = "builtins"
|
||||||
@ -113,7 +114,7 @@ def test_json_without_ports(on_gns3vm, compute_project, manager):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async def test_update_port_mappings(loop, on_gns3vm, compute_project):
|
async def test_update_port_mappings(on_gns3vm, compute_project):
|
||||||
"""
|
"""
|
||||||
We don't allow an empty interface in the middle of port list
|
We don't allow an empty interface in the middle of port list
|
||||||
"""
|
"""
|
||||||
@ -153,7 +154,7 @@ async def test_update_port_mappings(loop, on_gns3vm, compute_project):
|
|||||||
assert cloud.ports_mapping == ports1
|
assert cloud.ports_mapping == ports1
|
||||||
|
|
||||||
|
|
||||||
async def test_linux_ethernet_raw_add_nio(loop, linux_platform, compute_project, nio):
|
async def test_linux_ethernet_raw_add_nio(linux_platform, compute_project, nio):
|
||||||
ports = [
|
ports = [
|
||||||
{
|
{
|
||||||
"interface": "eth0",
|
"interface": "eth0",
|
||||||
@ -180,7 +181,7 @@ async def test_linux_ethernet_raw_add_nio(loop, linux_platform, compute_project,
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
async def test_linux_ethernet_raw_add_nio_bridge(loop, linux_platform, compute_project, nio):
|
async def test_linux_ethernet_raw_add_nio_bridge(linux_platform, compute_project, nio):
|
||||||
"""
|
"""
|
||||||
Bridge can't be connected directly to a cloud we use a tap in the middle
|
Bridge can't be connected directly to a cloud we use a tap in the middle
|
||||||
"""
|
"""
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
@ -23,8 +24,8 @@ from gns3server.compute.docker import Docker, DOCKER_PREFERRED_API_VERSION, DOCK
|
|||||||
from gns3server.compute.docker.docker_error import DockerError, DockerHttp404Error
|
from gns3server.compute.docker.docker_error import DockerError, DockerHttp404Error
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def vm(loop):
|
async def vm():
|
||||||
|
|
||||||
vm = Docker()
|
vm = Docker()
|
||||||
vm._connected = True
|
vm._connected = True
|
||||||
|
@ -34,7 +34,7 @@ from unittest.mock import patch, MagicMock, call
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = Docker.instance()
|
m = Docker.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
@ -42,7 +42,7 @@ async def manager(loop, port_manager):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
async def vm(loop, compute_project, manager):
|
async def vm(compute_project, manager):
|
||||||
|
|
||||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest")
|
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest")
|
||||||
vm._cid = "e90e34656842"
|
vm._cid = "e90e34656842"
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import tempfile
|
import tempfile
|
||||||
import sys
|
import sys
|
||||||
import uuid
|
import uuid
|
||||||
@ -28,8 +29,8 @@ from unittest.mock import patch
|
|||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = Dynamips.instance()
|
m = Dynamips.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
import pytest
|
import pytest
|
||||||
import asyncio
|
import pytest_asyncio
|
||||||
|
|
||||||
from gns3server.compute.dynamips.nodes.router import Router
|
from gns3server.compute.dynamips.nodes.router import Router
|
||||||
from gns3server.compute.dynamips.dynamips_error import DynamipsError
|
from gns3server.compute.dynamips.dynamips_error import DynamipsError
|
||||||
@ -26,8 +26,8 @@ from gns3server.compute.dynamips import Dynamips
|
|||||||
from gns3server.config import Config
|
from gns3server.config import Config
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = Dynamips.instance()
|
m = Dynamips.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
import stat
|
import stat
|
||||||
@ -36,8 +37,8 @@ if not sys.platform.startswith("win"):
|
|||||||
from gns3server.compute.iou import IOU
|
from gns3server.compute.iou import IOU
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = IOU.instance()
|
m = IOU.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
@ -45,7 +46,7 @@ async def manager(loop, port_manager):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
async def vm(loop, compute_project, manager, tmpdir, fake_iou_bin, iourc_file):
|
async def vm(compute_project, manager, tmpdir, fake_iou_bin, iourc_file):
|
||||||
|
|
||||||
vm = IOUVM("test", str(uuid.uuid4()), compute_project, manager, application_id=1)
|
vm = IOUVM("test", str(uuid.uuid4()), compute_project, manager, application_id=1)
|
||||||
config = manager.config.get_section_config("IOU")
|
config = manager.config.get_section_config("IOU")
|
||||||
|
@ -66,7 +66,7 @@ def test_invalid_empty_file(tmpdir):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(qemu_img() is None, reason="qemu-img is not available")
|
@pytest.mark.skipif(qemu_img() is None, reason="qemu-img is not available")
|
||||||
async def test_rebase(loop, tmpdir):
|
async def test_rebase(tmpdir):
|
||||||
|
|
||||||
shutil.copy("tests/resources/empty8G.qcow2", str(tmpdir / "empty16G.qcow2"))
|
shutil.copy("tests/resources/empty8G.qcow2", str(tmpdir / "empty16G.qcow2"))
|
||||||
shutil.copy("tests/resources/linked.qcow2", str(tmpdir / "linked.qcow2"))
|
shutil.copy("tests/resources/linked.qcow2", str(tmpdir / "linked.qcow2"))
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@ -33,8 +34,8 @@ from gns3server.utils import force_unix_path, macaddress_to_int, int_to_macaddre
|
|||||||
from gns3server.compute.notification_manager import NotificationManager
|
from gns3server.compute.notification_manager import NotificationManager
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = Qemu.instance()
|
m = Qemu.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import asyncio
|
import pytest_asyncio
|
||||||
|
|
||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
|
|
||||||
@ -29,8 +29,8 @@ from gns3server.compute.vpcs import VPCS
|
|||||||
from gns3server.compute.nios.nio_udp import NIOUDP
|
from gns3server.compute.nios.nio_udp import NIOUDP
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest_asyncio.fixture(scope="function")
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VPCS.instance()
|
m = VPCS.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -29,7 +29,7 @@ from gns3server.utils import force_unix_path
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
async def vpcs(loop, port_manager):
|
async def vpcs(port_manager):
|
||||||
|
|
||||||
VPCS._instance = None
|
VPCS._instance = None
|
||||||
vpcs = VPCS.instance()
|
vpcs = VPCS.instance()
|
||||||
@ -38,7 +38,7 @@ async def vpcs(loop, port_manager):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
async def qemu(loop, port_manager):
|
async def qemu(port_manager):
|
||||||
|
|
||||||
Qemu._instance = None
|
Qemu._instance = None
|
||||||
Qemu._init_config_disk = MagicMock() # do not create the config.img image
|
Qemu._init_config_disk = MagicMock() # do not create the config.img image
|
||||||
|
@ -33,7 +33,7 @@ from gns3server.config import Config
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VPCS.instance()
|
m = VPCS.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
@ -27,15 +28,15 @@ from gns3server.compute.traceng import TraceNG
|
|||||||
from gns3server.compute.notification_manager import NotificationManager
|
from gns3server.compute.notification_manager import NotificationManager
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = TraceNG.instance()
|
m = TraceNG.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
return m
|
return m
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest_asyncio.fixture(scope="function")
|
||||||
async def vm(compute_project, manager, ubridge_path):
|
async def vm(compute_project, manager, ubridge_path):
|
||||||
|
|
||||||
vm = TraceNGVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
vm = TraceNGVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import tempfile
|
import tempfile
|
||||||
import os
|
import os
|
||||||
import stat
|
import stat
|
||||||
@ -28,8 +29,8 @@ from gns3server.compute.virtualbox.virtualbox_error import VirtualBoxError
|
|||||||
from tests.utils import asyncio_patch
|
from tests.utils import asyncio_patch
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VirtualBox.instance()
|
m = VirtualBox.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
|
|
||||||
from gns3server.compute.virtualbox.virtualbox_vm import VirtualBoxVM
|
from gns3server.compute.virtualbox.virtualbox_vm import VirtualBoxVM
|
||||||
@ -24,8 +25,8 @@ from gns3server.compute.virtualbox.virtualbox_error import VirtualBoxError
|
|||||||
from gns3server.compute.virtualbox import VirtualBox
|
from gns3server.compute.virtualbox import VirtualBox
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VirtualBox.instance()
|
m = VirtualBox.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -16,13 +16,13 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
import pytest
|
import pytest_asyncio
|
||||||
|
|
||||||
from gns3server.compute.vmware import VMware
|
from gns3server.compute.vmware import VMware
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VMware.instance()
|
m = VMware.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -16,14 +16,14 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import asyncio
|
import pytest_asyncio
|
||||||
|
|
||||||
from gns3server.compute.vmware.vmware_vm import VMwareVM
|
from gns3server.compute.vmware.vmware_vm import VMwareVM
|
||||||
from gns3server.compute.vmware import VMware
|
from gns3server.compute.vmware import VMware
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VMware.instance()
|
m = VMware.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@ -30,8 +31,8 @@ from gns3server.compute.vpcs import VPCS
|
|||||||
from gns3server.compute.notification_manager import NotificationManager
|
from gns3server.compute.notification_manager import NotificationManager
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def manager(loop, port_manager):
|
async def manager(port_manager):
|
||||||
|
|
||||||
m = VPCS.instance()
|
m = VPCS.instance()
|
||||||
m.port_manager = port_manager
|
m.port_manager = port_manager
|
||||||
@ -39,7 +40,7 @@ async def manager(loop, port_manager):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
async def vm(loop, compute_project, manager, tmpdir, ubridge_path):
|
async def vm(compute_project, manager, tmpdir, ubridge_path):
|
||||||
|
|
||||||
vm = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
vm = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
||||||
vm._vpcs_version = parse_version("0.9")
|
vm._vpcs_version = parse_version("0.9")
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import asyncio
|
import asyncio
|
||||||
import tempfile
|
import tempfile
|
||||||
import shutil
|
import shutil
|
||||||
@ -34,7 +35,7 @@ if sys.platform.startswith("win"):
|
|||||||
asyncio.set_event_loop(None)
|
asyncio.set_event_loop(None)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest_asyncio.fixture(scope='function')
|
||||||
async def http_client(aiohttp_client):
|
async def http_client(aiohttp_client):
|
||||||
|
|
||||||
app = web.Application()
|
app = web.Application()
|
||||||
@ -71,8 +72,8 @@ def compute(controller):
|
|||||||
return compute
|
return compute
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def project(loop, tmpdir, controller):
|
async def project(tmpdir, controller):
|
||||||
|
|
||||||
return await controller.add_project(name="Test")
|
return await controller.add_project(name="Test")
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ async def test_start(gns3vm, controller):
|
|||||||
assert gns3vm.password == "world"
|
assert gns3vm.password == "world"
|
||||||
|
|
||||||
|
|
||||||
async def test_start_invalid_vm(loop, gns3vm, controller):
|
async def test_start_invalid_vm(gns3vm, controller):
|
||||||
|
|
||||||
await controller.add_compute("r1",
|
await controller.add_compute("r1",
|
||||||
name="R1",
|
name="R1",
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest_asyncio
|
||||||
import asyncio
|
|
||||||
|
|
||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
from gns3server.utils.asyncio import wait_run_in_executor
|
from gns3server.utils.asyncio import wait_run_in_executor
|
||||||
@ -25,8 +24,8 @@ from unittest.mock import patch
|
|||||||
from gns3server.controller.gns3vm.virtualbox_gns3_vm import VirtualBoxGNS3VM
|
from gns3server.controller.gns3vm.virtualbox_gns3_vm import VirtualBoxGNS3VM
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def gns3vm(loop, controller):
|
async def gns3vm(controller):
|
||||||
|
|
||||||
vm = VirtualBoxGNS3VM(controller)
|
vm = VirtualBoxGNS3VM(controller)
|
||||||
vm.vmname = "GNS3 VM"
|
vm.vmname = "GNS3 VM"
|
||||||
|
@ -16,12 +16,13 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
|
|
||||||
from gns3server.controller.gns3vm.vmware_gns3_vm import VMwareGNS3VM
|
from gns3server.controller.gns3vm.vmware_gns3_vm import VMwareGNS3VM
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def gns3vm(loop, controller):
|
async def gns3vm(controller):
|
||||||
|
|
||||||
vm = VMwareGNS3VM(controller)
|
vm = VMwareGNS3VM(controller)
|
||||||
vm.vmname = "GNS3 VM"
|
vm.vmname = "GNS3 VM"
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import zipfile
|
import zipfile
|
||||||
|
|
||||||
@ -32,15 +33,15 @@ from gns3server.controller.export_project import export_project, _is_exportable
|
|||||||
from gns3server.utils.asyncio import aiozipstream
|
from gns3server.utils.asyncio import aiozipstream
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def project(loop, controller):
|
async def project(controller):
|
||||||
|
|
||||||
p = Project(controller=controller, name="test")
|
p = Project(controller=controller, name="test")
|
||||||
p.dump = MagicMock()
|
p.dump = MagicMock()
|
||||||
return p
|
return p
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def node(controller, project):
|
async def node(controller, project):
|
||||||
|
|
||||||
compute = MagicMock()
|
compute = MagicMock()
|
||||||
|
@ -47,7 +47,7 @@ def dummy_gns3vm(controller, dummy_engine):
|
|||||||
return vm
|
return vm
|
||||||
|
|
||||||
|
|
||||||
async def test_list(loop, controller):
|
async def test_list(controller):
|
||||||
|
|
||||||
vm = GNS3VM(controller)
|
vm = GNS3VM(controller)
|
||||||
with asyncio_patch("gns3server.controller.gns3vm.vmware_gns3_vm.VMwareGNS3VM.list", return_value=[{"vmname": "test", "vmx_path": "test"}]):
|
with asyncio_patch("gns3server.controller.gns3vm.vmware_gns3_vm.VMwareGNS3VM.list", return_value=[{"vmname": "test", "vmx_path": "test"}]):
|
||||||
@ -60,14 +60,14 @@ async def test_list(loop, controller):
|
|||||||
await vm.list("hyperv")
|
await vm.list("hyperv")
|
||||||
|
|
||||||
|
|
||||||
async def test_json(loop, controller):
|
async def test_json(controller):
|
||||||
|
|
||||||
vm = GNS3VM(controller)
|
vm = GNS3VM(controller)
|
||||||
assert vm.__json__() == vm._settings
|
assert vm.__json__() == vm._settings
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not working well on Windows")
|
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not working well on Windows")
|
||||||
async def test_update_settings(loop, controller):
|
async def test_update_settings(controller):
|
||||||
|
|
||||||
vm = GNS3VM(controller)
|
vm = GNS3VM(controller)
|
||||||
vm.settings = {
|
vm.settings = {
|
||||||
|
@ -166,7 +166,7 @@ async def test_import_with_images(tmpdir, controller):
|
|||||||
assert os.path.exists(path), path
|
assert os.path.exists(path), path
|
||||||
|
|
||||||
|
|
||||||
async def test_import_iou_linux_no_vm(loop, linux_platform, tmpdir, controller):
|
async def test_import_iou_linux_no_vm(linux_platform, tmpdir, controller):
|
||||||
"""
|
"""
|
||||||
On non linux host IOU should be local if we don't have a GNS3 VM
|
On non linux host IOU should be local if we don't have a GNS3 VM
|
||||||
"""
|
"""
|
||||||
@ -210,7 +210,7 @@ async def test_import_iou_linux_no_vm(loop, linux_platform, tmpdir, controller):
|
|||||||
assert topo["topology"]["nodes"][0]["compute_id"] == "local"
|
assert topo["topology"]["nodes"][0]["compute_id"] == "local"
|
||||||
|
|
||||||
|
|
||||||
async def test_import_iou_linux_with_vm(loop, linux_platform, tmpdir, controller):
|
async def test_import_iou_linux_with_vm(linux_platform, tmpdir, controller):
|
||||||
"""
|
"""
|
||||||
On non linux host IOU should be vm if we have a GNS3 VM configured
|
On non linux host IOU should be vm if we have a GNS3 VM configured
|
||||||
"""
|
"""
|
||||||
@ -255,7 +255,7 @@ async def test_import_iou_linux_with_vm(loop, linux_platform, tmpdir, controller
|
|||||||
assert topo["topology"]["nodes"][0]["compute_id"] == "vm"
|
assert topo["topology"]["nodes"][0]["compute_id"] == "vm"
|
||||||
|
|
||||||
|
|
||||||
async def test_import_nat_non_linux(loop, windows_platform, tmpdir, controller):
|
async def test_import_nat_non_linux(windows_platform, tmpdir, controller):
|
||||||
"""
|
"""
|
||||||
On non linux host NAT should be moved to the GNS3 VM
|
On non linux host NAT should be moved to the GNS3 VM
|
||||||
"""
|
"""
|
||||||
@ -300,7 +300,7 @@ async def test_import_nat_non_linux(loop, windows_platform, tmpdir, controller):
|
|||||||
assert topo["topology"]["nodes"][0]["compute_id"] == "vm"
|
assert topo["topology"]["nodes"][0]["compute_id"] == "vm"
|
||||||
|
|
||||||
|
|
||||||
async def test_import_iou_non_linux(loop, windows_platform, tmpdir, controller):
|
async def test_import_iou_non_linux(windows_platform, tmpdir, controller):
|
||||||
"""
|
"""
|
||||||
On non linux host IOU should be moved to the GNS3 VM
|
On non linux host IOU should be moved to the GNS3 VM
|
||||||
"""
|
"""
|
||||||
@ -356,7 +356,7 @@ async def test_import_iou_non_linux(loop, windows_platform, tmpdir, controller):
|
|||||||
mock.assert_called_with(controller._computes["vm"], project_id, project.path, os.path.join('project-files', 'iou', topo["topology"]["nodes"][0]['node_id']))
|
mock.assert_called_with(controller._computes["vm"], project_id, project.path, os.path.join('project-files', 'iou', topo["topology"]["nodes"][0]['node_id']))
|
||||||
|
|
||||||
|
|
||||||
async def test_import_node_id(loop, linux_platform, tmpdir, controller):
|
async def test_import_node_id(linux_platform, tmpdir, controller):
|
||||||
"""
|
"""
|
||||||
When importing a node, node_id should change
|
When importing a node, node_id should change
|
||||||
"""
|
"""
|
||||||
@ -449,7 +449,7 @@ async def test_import_node_id(loop, linux_platform, tmpdir, controller):
|
|||||||
assert os.path.exists(os.path.join(project.path, "project-files", "iou", topo["topology"]["nodes"][0]["node_id"], "startup.cfg"))
|
assert os.path.exists(os.path.join(project.path, "project-files", "iou", topo["topology"]["nodes"][0]["node_id"], "startup.cfg"))
|
||||||
|
|
||||||
|
|
||||||
async def test_import_keep_compute_id(loop, windows_platform, tmpdir, controller):
|
async def test_import_keep_compute_id(windows_platform, tmpdir, controller):
|
||||||
"""
|
"""
|
||||||
On linux host IOU should be moved to the GNS3 VM
|
On linux host IOU should be moved to the GNS3 VM
|
||||||
"""
|
"""
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
@ -26,7 +27,7 @@ from gns3server.controller.ports.serial_port import SerialPort
|
|||||||
from tests.utils import AsyncioBytesIO, AsyncioMagicMock
|
from tests.utils import AsyncioBytesIO, AsyncioMagicMock
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def link(project, compute):
|
async def link(project, compute):
|
||||||
|
|
||||||
node1 = Node(project, compute, "node1", node_type="qemu")
|
node1 = Node(project, compute, "node1", node_type="qemu")
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest_asyncio
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
from tests.utils import AsyncioMagicMock
|
from tests.utils import AsyncioMagicMock
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def node(project):
|
async def node(project):
|
||||||
|
|
||||||
compute = MagicMock()
|
compute = MagicMock()
|
||||||
|
@ -20,6 +20,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import uuid
|
import uuid
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
from tests.utils import AsyncioMagicMock, asyncio_patch
|
from tests.utils import AsyncioMagicMock, asyncio_patch
|
||||||
@ -33,7 +34,7 @@ from gns3server.controller.ports.ethernet_port import EthernetPort
|
|||||||
from gns3server.config import Config
|
from gns3server.config import Config
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def node(controller, project):
|
async def node(controller, project):
|
||||||
|
|
||||||
compute = MagicMock()
|
compute = MagicMock()
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import sys
|
import sys
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
@ -52,7 +53,7 @@ def base_params():
|
|||||||
# Docker._instance = None
|
# Docker._instance = None
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def vm(compute_api, compute_project, base_params):
|
async def vm(compute_api, compute_project, base_params):
|
||||||
|
|
||||||
with asyncio_patch("gns3server.compute.docker.Docker.list_images", return_value=[{"image": "nginx"}]):
|
with asyncio_patch("gns3server.compute.docker.Docker.list_images", return_value=[{"image": "nginx"}]):
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import os
|
import os
|
||||||
import stat
|
import stat
|
||||||
import sys
|
import sys
|
||||||
@ -45,7 +46,7 @@ def base_params(tmpdir, fake_iou_bin):
|
|||||||
return {"application_id": 42, "name": "PC TEST 1", "path": "iou.bin"}
|
return {"application_id": 42, "name": "PC TEST 1", "path": "iou.bin"}
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def vm(compute_api, compute_project, base_params):
|
async def vm(compute_api, compute_project, base_params):
|
||||||
|
|
||||||
response = await compute_api.post("/projects/{project_id}/iou/nodes".format(project_id=compute_project.id), base_params)
|
response = await compute_api.post("/projects/{project_id}/iou/nodes".format(project_id=compute_project.id), base_params)
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import uuid
|
import uuid
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@ -57,7 +58,7 @@ def base_params(tmpdir, fake_qemu_bin):
|
|||||||
return {"name": "PC TEST 1", "qemu_path": fake_qemu_bin}
|
return {"name": "PC TEST 1", "qemu_path": fake_qemu_bin}
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def vm(compute_api, compute_project, base_params):
|
async def vm(compute_api, compute_project, base_params):
|
||||||
|
|
||||||
response = await compute_api.post("/projects/{project_id}/qemu/nodes".format(project_id=compute_project.id), base_params)
|
response = await compute_api.post("/projects/{project_id}/qemu/nodes".format(project_id=compute_project.id), base_params)
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest_asyncio
|
||||||
import uuid
|
import uuid
|
||||||
from tests.utils import asyncio_patch
|
from tests.utils import asyncio_patch
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def vm(compute_api, compute_project):
|
async def vm(compute_api, compute_project):
|
||||||
|
|
||||||
params = {"name": "PC TEST 1"}
|
params = {"name": "PC TEST 1"}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import pytest
|
import pytest_asyncio
|
||||||
|
|
||||||
from unittest.mock import patch, MagicMock
|
from unittest.mock import patch, MagicMock
|
||||||
from tests.utils import asyncio_patch, AsyncioMagicMock
|
from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||||
@ -24,7 +24,7 @@ from gns3server.controller.ports.ethernet_port import EthernetPort
|
|||||||
from gns3server.controller.link import Link, FILTERS
|
from gns3server.controller.link import Link, FILTERS
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def nodes(compute, project):
|
async def nodes(compute, project):
|
||||||
|
|
||||||
response = MagicMock()
|
response = MagicMock()
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
import uuid
|
import uuid
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
|
import pytest_asyncio
|
||||||
import zipfile
|
import zipfile
|
||||||
import json
|
import json
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ from unittest.mock import patch, MagicMock
|
|||||||
from tests.utils import asyncio_patch
|
from tests.utils import asyncio_patch
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def project(controller_api, controller):
|
async def project(controller_api, controller):
|
||||||
|
|
||||||
u = str(uuid.uuid4())
|
u = str(uuid.uuid4())
|
||||||
|
@ -17,10 +17,10 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
import pytest
|
import pytest_asyncio
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def project(controller_api, controller):
|
async def project(controller_api, controller):
|
||||||
|
|
||||||
u = str(uuid.uuid4())
|
u = str(uuid.uuid4())
|
||||||
@ -30,7 +30,7 @@ async def project(controller_api, controller):
|
|||||||
return project
|
return project
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest_asyncio.fixture
|
||||||
async def snapshot(project):
|
async def snapshot(project):
|
||||||
|
|
||||||
snapshot = await project.snapshot("test")
|
snapshot = await project.snapshot("test")
|
||||||
|
2
tests/pytest.ini
Normal file
2
tests/pytest.ini
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[pytest]
|
||||||
|
asyncio_mode = auto
|
@ -53,7 +53,7 @@ def write_config(tmpdir, settings):
|
|||||||
return path
|
return path
|
||||||
|
|
||||||
|
|
||||||
def test_get_section_config(loop, tmpdir):
|
def test_get_section_config(tmpdir):
|
||||||
|
|
||||||
config = load_config(tmpdir, {
|
config = load_config(tmpdir, {
|
||||||
"Server": {
|
"Server": {
|
||||||
@ -63,7 +63,7 @@ def test_get_section_config(loop, tmpdir):
|
|||||||
assert dict(config.get_section_config("Server")) == {"host": "127.0.0.1"}
|
assert dict(config.get_section_config("Server")) == {"host": "127.0.0.1"}
|
||||||
|
|
||||||
|
|
||||||
def test_set_section_config(loop, tmpdir):
|
def test_set_section_config(tmpdir):
|
||||||
|
|
||||||
config = load_config(tmpdir, {
|
config = load_config(tmpdir, {
|
||||||
"Server": {
|
"Server": {
|
||||||
@ -77,7 +77,7 @@ def test_set_section_config(loop, tmpdir):
|
|||||||
assert dict(config.get_section_config("Server")) == {"host": "192.168.1.1", "local": "true"}
|
assert dict(config.get_section_config("Server")) == {"host": "192.168.1.1", "local": "true"}
|
||||||
|
|
||||||
|
|
||||||
def test_set(loop, tmpdir):
|
def test_set(tmpdir):
|
||||||
|
|
||||||
config = load_config(tmpdir, {
|
config = load_config(tmpdir, {
|
||||||
"Server": {
|
"Server": {
|
||||||
@ -90,7 +90,7 @@ def test_set(loop, tmpdir):
|
|||||||
assert dict(config.get_section_config("Server")) == {"host": "192.168.1.1"}
|
assert dict(config.get_section_config("Server")) == {"host": "192.168.1.1"}
|
||||||
|
|
||||||
|
|
||||||
def test_reload(loop, tmpdir):
|
def test_reload(tmpdir):
|
||||||
|
|
||||||
config = load_config(tmpdir, {
|
config = load_config(tmpdir, {
|
||||||
"Server": {
|
"Server": {
|
||||||
|
@ -44,7 +44,7 @@ async def test_exception_wait_run_in_executor():
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
||||||
async def test_subprocess_check_output(loop, tmpdir):
|
async def test_subprocess_check_output(tmpdir):
|
||||||
|
|
||||||
path = str(tmpdir / "test")
|
path = str(tmpdir / "test")
|
||||||
result = await subprocess_check_output("echo", "-n", path)
|
result = await subprocess_check_output("echo", "-n", path)
|
||||||
|
@ -39,7 +39,7 @@ def response():
|
|||||||
# assert response.status == 200
|
# assert response.status == 200
|
||||||
|
|
||||||
|
|
||||||
async def test_response_file_not_found(loop, tmpdir, response):
|
async def test_response_file_not_found(tmpdir, response):
|
||||||
|
|
||||||
filename = str(tmpdir / 'hello-not-found')
|
filename = str(tmpdir / 'hello-not-found')
|
||||||
with pytest.raises(HTTPNotFound):
|
with pytest.raises(HTTPNotFound):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user