コード例 #1
0
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
コード例 #2
0
ファイル: lab_test.py プロジェクト: tcaiazzi/Kathara
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"
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
ファイル: lab_test.py プロジェクト: tcaiazzi/Kathara
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']
コード例 #7
0
ファイル: lab_test.py プロジェクト: tcaiazzi/Kathara
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']
コード例 #8
0
ファイル: lab_test.py プロジェクト: tcaiazzi/Kathara
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")
コード例 #9
0
ファイル: lab_test.py プロジェクト: tcaiazzi/Kathara
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"