diff --git a/repo_cloner/lib/cloner.py b/repo_cloner/lib/cloner.py index 661d5c3..1caac3d 100644 --- a/repo_cloner/lib/cloner.py +++ b/repo_cloner/lib/cloner.py @@ -110,24 +110,27 @@ class Cloner: return submodule_list def sync(self) -> bool: - + log.debug("cloner.sync() called") if not self.__opened: self._repo = RepoTool(self.main_repo_path) if not self._repo.initialized: return False # determine recursive behavior + log.debug(f"determining >not< cloner._config.cloner_submodules ? {self._config.cloner_submodules}") if not self._config.cloner_submodules: + log.debug(f"Just simple repo fetch - no submodules") return self._repo.fetch() - fingerprint = self._repo.repo_fingerprint + fingerprint = self._repo.repo_fingerprint() # recursive now + log.debug(f"Recursive repo fetch") if not self._repo.fetch(): log.critical(f"Repo fetch failed for {self._config.cloner_project_name}") return False - if fingerprint == self._repo.repo_fingerprint: - log.info(f"Repo fingerpring unchanged - submodule discovery skipped") + if fingerprint == self._repo.repo_fingerprint(): + log.info(f"Repo fingerprint unchanged - submodule discovery skipped") return True log.debug(f"Loading submodules.cache") diff --git a/tests/lib/test_cloner.py b/tests/lib/test_cloner.py index c937153..d1386a7 100644 --- a/tests/lib/test_cloner.py +++ b/tests/lib/test_cloner.py @@ -279,9 +279,8 @@ def test_sync_submodules_failed(cloner_dir_with_config, caplog): with patch.multiple("repo_cloner.lib.cloner.RepoTool", **mocks) as mock: cl = Cloner(ds) assert not cl.sync() - - assert caplog.records[1].levelname == "CRITICAL" - assert caplog.records[1].message == "Repo fetch failed for Mocked Project" + assert caplog.records[2].levelname == "CRITICAL" + assert caplog.records[2].message == "Repo fetch failed for Mocked Project" def my_check_submodules_repo( @@ -309,7 +308,7 @@ def test_submodules_sync_succeed(cloner_dir_with_config, caplog): 'initialized': PropertyMock(side_effect = [True, False, True, True, True]), 'fetch': MagicMock(return_value = True), 'clone': MagicMock(return_value = True), - 'repo_fingerprint': PropertyMock(side_effect = ["fp1", "fp2", "fp3"]), + 'repo_fingerprint': MagicMock(side_effect = ["fp1", "fp2", "fp3"]), } with patch.multiple("repo_cloner.lib.cloner.RepoTool", **mocks): @@ -336,7 +335,7 @@ def test_submodules_sync_unchanged_main_repo(cloner_dir_with_config, caplog): 'fetch': MagicMock(return_value = True), 'clone': MagicMock(return_value = True), # fingerprint is same for both queries, so nothing is fetched/synced afterwards - 'repo_fingerprint': PropertyMock(return_value = "fp1"), + 'repo_fingerprint': MagicMock(return_value = "fp1"), } with patch.multiple("repo_cloner.lib.cloner.RepoTool", **mocks): @@ -363,7 +362,7 @@ def test_submodules_sync_one_fail(cloner_dir_with_config, caplog): 'initialized': PropertyMock(return_value = True), 'fetch': MagicMock(side_effect = [True, True, True, False, True]), 'clone': MagicMock(return_value = True), - 'repo_fingerprint': PropertyMock(side_effect = ["fp1", "fp2", "fp3"]), + 'repo_fingerprint': MagicMock(side_effect = ["fp1", "fp2", "fp3"]), } with patch.multiple("repo_cloner.lib.cloner.RepoTool", **mocks):