Skip to content

Commit 76f7fe1

Browse files
committed
Add unit tests
1 parent 511a009 commit 76f7fe1

File tree

1 file changed

+61
-2
lines changed

1 file changed

+61
-2
lines changed

tests/manager/docker/docker_manager_test.py

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,29 @@ def default_device(mock_docker_container):
7272
return device
7373

7474

75+
@pytest.fixture()
76+
@mock.patch("docker.models.containers.Container")
77+
def only_bridged_device(mock_docker_container):
78+
device = Machine(Lab('Default scenario'), "bridged_device")
79+
device.add_meta("bridged", True)
80+
device.add_meta("bridged_iface", 0)
81+
device.api_object = mock_docker_container
82+
mock_docker_container.status = "running"
83+
return device
84+
85+
86+
@pytest.fixture()
87+
@mock.patch("docker.models.containers.Container")
88+
def bridged_device(mock_docker_container, default_link):
89+
device = Machine(Lab('Default scenario'), "bridged_device")
90+
device.add_interface(default_link)
91+
device.add_meta("bridged", True)
92+
device.api_object = mock_docker_container
93+
mock_docker_container.labels = {'bridged_iface': 1}
94+
mock_docker_container.status = "running"
95+
return device
96+
97+
7598
@pytest.fixture()
7699
def default_link():
77100
from src.Kathara.model.Link import Link
@@ -318,15 +341,51 @@ def test_connect_machine_to_link_one_link(mock_connect_interface_machine, mock_d
318341
mock_connect_interface_machine.assert_called_once_with(default_device, interface)
319342

320343

344+
@mock.patch("src.Kathara.manager.docker.DockerManager.DockerManager.deploy_link")
345+
@mock.patch("src.Kathara.manager.docker.DockerMachine.DockerMachine.connect_interface")
346+
def test_connect_machine_to_link_one_link_only_bridged(mock_connect_interface_machine, mock_deploy_link, docker_manager,
347+
only_bridged_device, default_link):
348+
docker_manager.connect_machine_to_link(only_bridged_device, default_link)
349+
interface = only_bridged_device.interfaces[1]
350+
mock_deploy_link.assert_called_once_with(default_link)
351+
mock_connect_interface_machine.assert_called_once_with(only_bridged_device, interface)
352+
353+
354+
@mock.patch("src.Kathara.manager.docker.DockerManager.DockerManager.deploy_link")
355+
@mock.patch("src.Kathara.manager.docker.DockerMachine.DockerMachine.connect_interface")
356+
def test_connect_machine_to_link_one_link_only_bridged_two_connect(mock_connect_interface_machine, mock_deploy_link,
357+
docker_manager, only_bridged_device, default_link,
358+
default_link_b):
359+
docker_manager.connect_machine_to_link(only_bridged_device, default_link)
360+
interface_a = only_bridged_device.interfaces[1]
361+
mock_deploy_link.assert_called_with(default_link)
362+
mock_connect_interface_machine.assert_called_with(only_bridged_device, interface_a)
363+
364+
docker_manager.connect_machine_to_link(only_bridged_device, default_link_b)
365+
interface_b = only_bridged_device.interfaces[2]
366+
mock_deploy_link.assert_called_with(default_link_b)
367+
mock_connect_interface_machine.assert_called_with(only_bridged_device, interface_b)
368+
369+
370+
@mock.patch("src.Kathara.manager.docker.DockerManager.DockerManager.deploy_link")
371+
@mock.patch("src.Kathara.manager.docker.DockerMachine.DockerMachine.connect_interface")
372+
def test_connect_machine_to_link_one_link_one_iface_and_bridged(mock_connect_interface_machine, mock_deploy_link,
373+
docker_manager,
374+
bridged_device, default_link_b):
375+
docker_manager.connect_machine_to_link(bridged_device, default_link_b)
376+
interface = bridged_device.interfaces[2]
377+
assert interface.link == default_link_b
378+
mock_deploy_link.assert_called_once_with(default_link_b)
379+
mock_connect_interface_machine.assert_called_once_with(bridged_device, interface)
380+
381+
321382
@mock.patch("src.Kathara.manager.docker.DockerManager.DockerManager.deploy_link")
322383
@mock.patch("src.Kathara.manager.docker.DockerMachine.DockerMachine.connect_interface")
323384
def test_connect_machine_to_link_machine_collision_domain_error(mock_connect_interface_machine, mock_deploy_link,
324385
docker_manager, default_device, default_link):
325386
docker_manager.connect_machine_to_link(default_device, default_link)
326-
327387
with pytest.raises(MachineCollisionDomainError):
328388
docker_manager.connect_machine_to_link(default_device, default_link)
329-
330389
mock_connect_interface_machine.assert_called_once()
331390
mock_deploy_link.assert_called_once()
332391

0 commit comments

Comments
 (0)