def test_deploy_machines(mock_deploy_and_start, docker_machine): lab = Lab("Default scenario") lab.get_or_new_machine("pc1", **{'image': 'kathara/test1'}) lab.get_or_new_machine("pc2", **{'image': 'kathara/test2'}) docker_machine.docker_image.check_and_pull_from_list.return_value = None mock_deploy_and_start.return_value = None docker_machine.deploy_machines(lab) docker_machine.docker_image.check_and_pull_from_list.assert_called_once_with( {'kathara/test1', 'kathara/test2'}) assert mock_deploy_and_start.call_count == 2
def test_apply_dependencies(default_scenario: Lab): default_scenario.get_or_new_machine("pc1") default_scenario.get_or_new_machine("pc2") default_scenario.get_or_new_machine("pc3") default_scenario.apply_dependencies(["pc3", "pc1", "pc2"]) assert default_scenario.machines.popitem()[0] == "pc2" assert default_scenario.machines.popitem()[0] == "pc1" assert default_scenario.machines.popitem()[0] == "pc3"
def test_deploy_machines(mock_deploy, kubernetes_machine): lab = Lab("Default scenario") lab.get_or_new_machine("pc1", **{'image': 'kathara/test1'}) lab.get_or_new_machine("pc2", **{'image': 'kathara/test2'}) mock_deploy.return_value = None kubernetes_machine.deploy_machines(lab) assert mock_deploy.call_count == 2
def two_device_scenario(): lab = Lab("Default scenario") pc1 = lab.get_or_new_machine("pc1", **{'image': 'kathara/test1'}) pc2 = lab.get_or_new_machine("pc2", **{'image': 'kathara/test2'}) lab.connect_machine_to_link(pc1.name, "A") lab.connect_machine_to_link(pc1.name, "B") lab.connect_machine_to_link(pc2.name, "A") return lab
def test_pack_data_hidden_files(pack_file_for_tar_mock): lab_path = os.path.join("tests", "model", "hiddenfiles") lab = Lab(None, lab_path) device = lab.get_or_new_machine("test_machine") pack_file_for_tar_mock.return_value = (tarfile.TarInfo(""), None) device.pack_data() pack_file_for_tar_mock.assert_any_call( os.path.join(lab_path, "test_machine", ".hidden"), arc_name="hostlab/" + os.path.join(device.name, ".hidden")) pack_file_for_tar_mock.assert_any_call( os.path.join(lab_path, "test_machine", "nothidden"), arc_name="hostlab/" + os.path.join(device.name, "nothidden")) assert pack_file_for_tar_mock.call_count == 2
def test_get_or_new_machine_two_devices(default_scenario: Lab): default_scenario.get_or_new_machine("pc1") default_scenario.get_or_new_machine("pc2") assert len(default_scenario.machines) == 2 assert default_scenario.machines['pc1'] assert default_scenario.machines['pc2']
def test_get_or_new_machine_exists(default_scenario: Lab): default_scenario.get_or_new_machine("pc1") default_scenario.get_or_new_machine("pc1") assert len(default_scenario.machines) == 1 assert default_scenario.machines['pc1']
def test_assign_meta_to_machine_exception(default_scenario: Lab): default_scenario.get_or_new_machine("pc1") with pytest.raises(MachineOptionError): default_scenario.assign_meta_to_machine("pc1", "port", "value")
def test_assign_meta_to_machine(default_scenario: Lab): default_scenario.get_or_new_machine("pc1") default_scenario.assign_meta_to_machine("pc1", "test_meta", "test_value") assert "test_meta" in default_scenario.machines['pc1'].meta assert default_scenario.machines['pc1'].meta["test_meta"] == "test_value"