mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
NAT node can use the VMware NAT
On Windows and Mac OS this allow the NAT node to use the VMware nat (it's always vmnet8). On Linux we still use the libvirt NAT
This commit is contained in:
3 files changed
+35
-12
No files matched your search
@@ -17,14 +17,12 @@
|
||||
|
||||
import uuid
|
||||
import pytest
|
||||
from unittest.mock import MagicMock
|
||||
from tests.utils import asyncio_patch
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from gns3server.compute.builtin.nodes.nat import Nat
|
||||
from gns3server.compute.vpcs import VPCS
|
||||
|
||||
|
||||
def test_json(on_gns3vm, project):
|
||||
def test_json_gns3vm(on_gns3vm, project):
|
||||
nat = Nat("nat1", str(uuid.uuid4()), project, MagicMock())
|
||||
assert nat.__json__() == {
|
||||
"name": "nat1",
|
||||
@@ -40,3 +38,24 @@ def test_json(on_gns3vm, project):
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
def test_json_darwin(darwin_platform, project):
|
||||
with patch("gns3server.utils.interfaces.interfaces", return_value=[
|
||||
{"name": "eth0", "special": False, "type": "ethernet"},
|
||||
{"name": "vmnet8", "special": True, "type": "ethernet"}]):
|
||||
nat = Nat("nat1", str(uuid.uuid4()), project, MagicMock())
|
||||
assert nat.__json__() == {
|
||||
"name": "nat1",
|
||||
"node_id": nat.id,
|
||||
"project_id": project.id,
|
||||
"status": "started",
|
||||
"ports_mapping": [
|
||||
{
|
||||
"interface": "vmnet8",
|
||||
"name": "nat0",
|
||||
"port_number": 0,
|
||||
"type": "ethernet"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -29,12 +29,9 @@ from gns3server.version import __version__
|
||||
|
||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
||||
def test_get(http_compute, windows_platform):
|
||||
"""
|
||||
Nat, is supported outside linux
|
||||
"""
|
||||
response = http_compute.get('/capabilities', example=True)
|
||||
assert response.status == 200
|
||||
assert response.json == {'node_types': ['cloud', 'ethernet_hub', 'ethernet_switch', 'vpcs', 'virtualbox', 'dynamips', 'frame_relay_switch', 'atm_switch', 'qemu', 'vmware', 'docker', 'iou'], 'version': __version__, 'platform': sys.platform}
|
||||
assert response.json == {'node_types': ['cloud', 'ethernet_hub', 'ethernet_switch', 'nat', 'vpcs', 'virtualbox', 'dynamips', 'frame_relay_switch', 'atm_switch', 'qemu', 'vmware', 'docker', 'iou'], 'version': __version__, 'platform': sys.platform}
|
||||
|
||||
|
||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
||||
|
||||
Reference in new issue
Block a user