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"]
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"
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)])
def test_repo_prompt(monkeypatch): sequence, expected_output = get_repo_sequence() monkeypatch.setattr("builtins.input", MonkeyPatchSequence(sequence)) config1 = DataRepoConfig.prompt() assert config1 == expected_output
def test_package_prompt(monkeypatch): sequence, expected_output = get_package_sequence() monkeypatch.setattr("builtins.input", MonkeyPatchSequence(sequence)) config1 = PackageConfig.prompt() assert config1 == expected_output
def test_monkey_patch_sequence(monkeypatch): input_returns = MonkeyPatchSequence(["tree", "lamp"]) monkeypatch.setattr("builtins.input", input_returns) assert input() == "tree" assert input() == "lamp"