2013-12-22 00:42:33 +00:00
|
|
|
from gns3server.modules.dynamips import FrameRelaySwitch
|
|
|
|
from gns3server.modules.dynamips import NIO_Null
|
|
|
|
from gns3server.modules.dynamips import DynamipsError
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def frsw(request, hypervisor):
|
|
|
|
|
|
|
|
frsw = FrameRelaySwitch(hypervisor, "Frane Relay switch")
|
|
|
|
request.addfinalizer(frsw.delete)
|
|
|
|
return frsw
|
|
|
|
|
|
|
|
|
|
|
|
def test_frsw_exists(frsw):
|
|
|
|
|
|
|
|
assert frsw.list()
|
|
|
|
|
|
|
|
|
|
|
|
def test_rename_frsw(frsw):
|
|
|
|
|
2014-02-05 22:45:33 +00:00
|
|
|
frsw.name = "new Frame Relay switch"
|
2013-12-22 00:42:33 +00:00
|
|
|
assert frsw.name == "new Frame Relay switch"
|
|
|
|
|
|
|
|
|
|
|
|
def test_add_remove_nio(frsw):
|
|
|
|
|
|
|
|
nio = NIO_Null(frsw.hypervisor)
|
|
|
|
frsw.add_nio(nio, 0) # add NIO on port 0
|
|
|
|
assert frsw.nios
|
|
|
|
frsw.remove_nio(0) # remove NIO from port 0
|
|
|
|
nio.delete()
|
|
|
|
|
|
|
|
|
|
|
|
def test_add_nio_already_allocated_port(frsw):
|
|
|
|
|
|
|
|
nio = NIO_Null(frsw.hypervisor)
|
|
|
|
frsw.add_nio(nio, 0) # add NIO on port 0
|
|
|
|
with pytest.raises(DynamipsError):
|
|
|
|
frsw.add_nio(nio, 0)
|
|
|
|
nio.delete()
|
|
|
|
|
|
|
|
|
|
|
|
def test_remove_nio_non_allocated_port(frsw):
|
|
|
|
|
|
|
|
with pytest.raises(DynamipsError):
|
|
|
|
frsw.remove_nio(0) # remove NIO from port 0
|
|
|
|
|
|
|
|
|
|
|
|
def test_vc(frsw):
|
|
|
|
|
|
|
|
nio1 = NIO_Null(frsw.hypervisor)
|
|
|
|
frsw.add_nio(nio1, 0) # add NIO on port 0
|
|
|
|
nio2 = NIO_Null(frsw.hypervisor)
|
|
|
|
frsw.add_nio(nio1, 1) # add NIO on port 1
|
|
|
|
frsw.map_vc(0, 10, 1, 20) # port 0 DLCI 10 to port 1 DLCI 20 (unidirectional)
|
|
|
|
frsw.map_vc(1, 20, 0, 10) # port 1 DLCI 20 to port 0 DLCI 10 (unidirectional)
|
|
|
|
assert frsw.mapping[(0, 10)] == (1, 20)
|
|
|
|
assert frsw.mapping[(1, 20)] == (0, 10)
|
|
|
|
frsw.unmap_vc(0, 10, 1, 20) # port 0 DLCI 10 to port 1 DLCI 20 (unidirectional)
|
|
|
|
frsw.unmap_vc(1, 20, 0, 10) # port 1 DLCI 20 to port 0 DLCI 10 (unidirectional)
|
|
|
|
frsw.remove_nio(0)
|
|
|
|
frsw.remove_nio(1)
|
|
|
|
nio1.delete()
|
|
|
|
nio2.delete()
|