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.
This commit is contained in:
Hans-Christoph Steiner 2025-06-18 19:16:30 +02:00
parent 8601749734
commit 473068f311

View file

@ -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