Ejemplo n.º 1
0
    def test_when_local_repo_is_present(self, monkeypatch):
        def mock_return(path):
            return False

        monkeypatch.setattr(os.path, "exists", mock_return)
        repo = ExternalRepository(*repo_data1())
        assert not repo.local_exists()
Ejemplo n.º 2
0
 def test_init(self):
     path, commit, output = repo_data1()
     repo = ExternalRepository(path, commit, output)
     assert isinstance(repo, ExternalRepository)
     assert repo.input_path == path
     assert repo.commit == commit
     assert repo.output_path == output
Ejemplo n.º 3
0
 def test_clone_when_no_local_copy(self, mocker):
     # note that we can't patch the function `sh.git.clone`
     mocker.patch("sh.git")
     mocker.patch("os.path.exists", return_value=False)
     repo = ExternalRepository(*repo_data1())
     repo.clone()
     sh.git.assert_called_once_with("clone", repo.input_path,
                                    repo.output_path)
Ejemplo n.º 4
0
 def test_git_checkout_is_called(self, mocker):
     mocker.patch("sh.git")
     repo = ExternalRepository(*repo_data1())
     repo.checkout()
     sh.git.assert_called_once_with("-C", repo.output_path, "checkout",
                                    repo.commit)
Ejemplo n.º 5
0
 def test_no_clone_when_local_copy_exists(self, mocker):
     mocker.patch("sh.git")
     mocker.patch("os.path.exists", return_value=True)
     repo = ExternalRepository(*repo_data1())
     repo.clone()
     sh.git.assert_not_called()
Ejemplo n.º 6
0
 def test_init(self):
     path, commit, _ = repo_data1()
     repo = LocalRepository(path, commit)
     assert isinstance(repo, LocalRepository)
     assert repo.path == path
     assert repo.commit == commit
Ejemplo n.º 7
0
 def test_object_inequality(self):
     repo1 = ExternalRepository(*repo_data1())
     repo2 = ExternalRepository(*repo_data2())
     assert repo1 != repo2
Ejemplo n.º 8
0
 def test_multiple_repositories(self):
     repo_yaml = {"repo1": repo_dict1(), "repo2": repo_dict2()}
     assert parse_repository_details(repo_yaml) == {
         "repo1": ExternalRepository(*repo_data1()),
         "repo2": ExternalRepository(*repo_data2()),
     }
Ejemplo n.º 9
0
 def test_single_repository(self):
     repo_yaml = {"repo_name": repo_dict1()}
     assert parse_repository_details(repo_yaml) == {
         "repo_name": ExternalRepository(*repo_data1())
     }