Nat node is only on the GNS3 VM for the moment

Fix https://github.com/GNS3/gns3-gui/issues/1448
pull/712/head
Julien Duponchelle 8 years ago
parent edae834e0e
commit 36d2e80d0a
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8

@ -21,7 +21,7 @@ Builtin nodes server module.
from ..base_manager import BaseManager
from .builtin_node_factory import BuiltinNodeFactory
from .builtin_node_factory import BuiltinNodeFactory, BUILTIN_NODES
import logging
log = logging.getLogger(__name__)
@ -40,4 +40,7 @@ class Builtin(BaseManager):
"""
:returns: List of node type supported by this class and computer
"""
return ['cloud', 'nat', 'ethernet_hub', 'ethernet_switch']
types = ['cloud', 'ethernet_hub', 'ethernet_switch']
if BUILTIN_NODES['nat'].is_supported():
types.append('nat')
return types

@ -41,6 +41,10 @@ class Nat(Cloud):
}
]
@classmethod
def is_supported(self):
return socket.gethostname() == "gns3vm"
def __json__(self):
return {
"name": self.name,

@ -26,6 +26,15 @@ from gns3server.version import __version__
def test_get(http_compute):
"""
Nat is not supported outside the GNS3VM
"""
response = http_compute.get('/capabilities', example=True)
assert response.status == 200
assert response.json == {'node_types': ['cloud', 'nat', 'ethernet_hub', 'ethernet_switch', 'vpcs', 'virtualbox', 'dynamips', 'frame_relay_switch', 'atm_switch', 'qemu', 'vmware', 'docker', 'iou'], 'version': __version__}
assert response.json == {'node_types': ['cloud', 'ethernet_hub', 'ethernet_switch', 'vpcs', 'virtualbox', 'dynamips', 'frame_relay_switch', 'atm_switch', 'qemu', 'vmware', 'docker', 'iou'], 'version': __version__}
def test_get_on_gns3vm(http_compute, on_gns3vm):
response = http_compute.get('/capabilities', example=True)
assert response.status == 200
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__}

Loading…
Cancel
Save