Exemple #1
0
def test_multi_input(monkeypatch):
    input_returns = MonkeyPatchSequence(["lamp", "tree", ""])
    monkeypatch.setattr("builtins.input", input_returns)
    assert multi_input("TestTile") == ["lamp", "tree"]

    input_returns = MonkeyPatchSequence(["lamp", "tree", ""])
    monkeypatch.setattr("builtins.input", input_returns)
    assert multi_input("TestTile", empty_allowed=True) == ["lamp", "tree"]

    input_returns = MonkeyPatchSequence(["", "lamp", "tree", ""])
    monkeypatch.setattr("builtins.input", input_returns)
    assert multi_input("TestTile", empty_allowed=True) == []

    input_returns = MonkeyPatchSequence(["", "lamp", "tree", ""])
    monkeypatch.setattr("builtins.input", input_returns)
    assert multi_input("TestTile", empty_allowed=False) == ["lamp", "tree"]
Exemple #2
0
def test_input_with_possible_default(monkeypatch):
    monkeypatch.setattr("builtins.input", lambda: "")
    assert input_with_possible_default(default="tree") == "tree"

    monkeypatch.setattr("builtins.input", lambda: "desk")
    assert input_with_possible_default() == "desk"

    with pytest.raises(MaxTriesReachedException):
        input_with_possible_default(validation_function=lambda x: x == "lamp")

    input_with_possible_default(validation_function=lambda x: x == "desk")

    input_with_possible_default(validation_function=in_list_validation(["desk", "fridge"]))

    with pytest.raises(MaxTriesReachedException):
        input_with_possible_default(validation_function=in_list_validation(["tree", "fridge"]))

    input_returns = MonkeyPatchSequence(["lamp", "tree"])
    monkeypatch.setattr("builtins.input", input_returns)
    assert input_with_possible_default(validation_function=in_list_validation(["tree", "fridge"])) == "tree"
Exemple #3
0
def test_init(monkeypatch):
    temp_dir = get_temp_path(prefix="test_init_no_integration")

    sequence, config = get_repo_sequence()
    monkeypatch.setattr("builtins.input", MonkeyPatchSequence(sequence + ["git_url"]))

    for data_folder in config.collection.folders:
        create_data_folder(temp_dir / data_folder)

    for file in config.collection.files:
        write_image_in_file(temp_dir / file)

    mock_repo = MockTaggedRepo()
    # mock_git = MockGitRepo(None, None)

    monkeypatch.setattr(
        "poif.cli.commands.init.get_remote_repo_from_config",
        lambda x: mock_repo,
    )
    monkeypatch.setattr("poif.cli.commands.init.GitRepo", MockGitRepo)

    init([str(temp_dir)])
Exemple #4
0
def test_repo_prompt(monkeypatch):
    sequence, expected_output = get_repo_sequence()
    monkeypatch.setattr("builtins.input", MonkeyPatchSequence(sequence))
    config1 = DataRepoConfig.prompt()

    assert config1 == expected_output
Exemple #5
0
def test_package_prompt(monkeypatch):
    sequence, expected_output = get_package_sequence()
    monkeypatch.setattr("builtins.input", MonkeyPatchSequence(sequence))
    config1 = PackageConfig.prompt()

    assert config1 == expected_output
Exemple #6
0
def test_monkey_patch_sequence(monkeypatch):
    input_returns = MonkeyPatchSequence(["tree", "lamp"])
    monkeypatch.setattr("builtins.input", input_returns)

    assert input() == "tree"
    assert input() == "lamp"