From 473068f31102886b7f4addd3f327056fde9afb77 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 18 Jun 2025 19:16:30 +0200 Subject: [PATCH] deploy: test case for !1666 This is included here and not there because it relies on lots of stuff that was refactored. !1666 was broken out to get the fix out for fdroidclient as soon as possible. --- tests/test_deploy.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/test_deploy.py b/tests/test_deploy.py index 1464883a..db9cb50b 100755 --- a/tests/test_deploy.py +++ b/tests/test_deploy.py @@ -837,6 +837,30 @@ class TestServerGitMirrors(unittest.TestCase): remote_file = f"fdroid/{self.repo_section}/{filename}" self.assertTrue((Path(verify_repo.working_tree_dir) / remote_file).exists()) + def test_update_servergitmirrors_with_existing_git_repo(self): + """Confirm it works with clones done manually or with nightly.""" + fdroidserver.deploy.update_servergitmirrors( + fdroidserver.common.config["servergitmirrors"], self.repo_section + ) + + # now delete the local setup, clone the remote, and add a new APK + git_mirror = os.path.join(self.testdir, 'git-mirror') + shutil.rmtree(git_mirror) + self.remote_git_repo.clone(git_mirror) + new_fake_apk = 'Sym2.apk' + self.fake_files.append(new_fake_apk) + (Path(self.repo_section) / new_fake_apk).write_text('a new fake APK') + + fdroidserver.deploy.update_servergitmirrors( + fdroidserver.common.config["servergitmirrors"], self.repo_section + ) + + verify_repo = self.remote_git_repo.clone(Path(self.testdir) / 'verify') + self.assertIsNotNone(verify_repo.working_tree_dir) + for filename in self.fake_files: + remote_file = f"fdroid/{self.repo_section}/{filename}" + self.assertTrue((Path(verify_repo.working_tree_dir) / remote_file).exists()) + def test_update_servergitmirrors_in_index_only_mode(self): fdroidserver.common.config["servergitmirrors"][0]["index_only"] = True