diff options
author | Zuul <zuul@review.opendev.org> | 2022-04-28 21:46:40 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-04-28 21:46:40 +0000 |
commit | 0d1e2302d76b72198995eab70080f1af6d2def1a (patch) | |
tree | 0e2b27427629191118016ace5dd98d272ad35133 /tests/base.py | |
parent | a00cb7ad9c685e7ff4c9137feed5476de99fdb8d (diff) | |
parent | 87f5b9d66bf654378d53387f70983b7191c70e96 (diff) | |
download | zuul-0d1e2302d76b72198995eab70080f1af6d2def1a.tar.gz |
Merge "Add more files tests to Pagure driver"
Diffstat (limited to 'tests/base.py')
-rw-r--r-- | tests/base.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/tests/base.py b/tests/base.py index e6c70e0ad..2e5421dd6 100644 --- a/tests/base.py +++ b/tests/base.py @@ -1680,9 +1680,9 @@ class FakePagurePullRequest(object): return PagureChangeReference.create( repo, self.getPRReference(), 'refs/tags/init') - def addCommit(self, files={}): + def addCommit(self, files={}, delete_files=None): """Adds a commit on top of the actual PR head.""" - self._addCommitInPR(files=files) + self._addCommitInPR(files=files, delete_files=delete_files) self._updateTimeStamp() def forcePush(self, files={}): @@ -1690,7 +1690,7 @@ class FakePagurePullRequest(object): self._addCommitInPR(files=files, reset=True) self._updateTimeStamp() - def _addCommitInPR(self, files={}, reset=False): + def _addCommitInPR(self, files={}, delete_files=None, reset=False): repo = self._getRepo() ref = repo.references[self.getPRReference()] if reset: @@ -1702,7 +1702,7 @@ class FakePagurePullRequest(object): if files: self.files = files - else: + elif not delete_files: fn = '%s-%s' % (self.branch.replace('/', '_'), self.number) self.files = {fn: "test %s %s\n" % (self.branch, self.number)} msg = self.subject + '-' + str(self.number_of_commits) @@ -1712,6 +1712,13 @@ class FakePagurePullRequest(object): f.write(content) repo.index.add([fn]) + if delete_files: + for fn in delete_files: + if fn in self.files: + del self.files[fn] + fn = os.path.join(repo.working_dir, fn) + repo.index.remove([fn]) + self.commit_stop = repo.index.commit(msg).hexsha if not self.commit_start: self.commit_start = self.commit_stop @@ -2158,7 +2165,7 @@ class FakeGitlabMergeRequest(object): if files: self.files = files - else: + elif not delete_files: fn = '%s-%s' % (self.branch.replace('/', '_'), self.number) self.files = {fn: "test %s %s\n" % (self.branch, self.number)} msg = self.subject + '-' + str(self.number_of_commits) @@ -2170,6 +2177,8 @@ class FakeGitlabMergeRequest(object): if delete_files: for fn in delete_files: + if fn in self.files: + del self.files[fn] fn = os.path.join(repo.working_dir, fn) repo.index.remove([fn]) @@ -2517,7 +2526,7 @@ class FakeGithubPullRequest(object): else: normalized_files[tests.fakegithub.FakeFile(fn)] = content self.files.update(normalized_files) - else: + elif not delete_files: fn = '%s-%s' % (self.branch.replace('/', '_'), self.number) content = f"test {self.branch} {self.number}\n" self.files.update({tests.fakegithub.FakeFile(fn): content}) @@ -2531,6 +2540,8 @@ class FakeGithubPullRequest(object): if delete_files: for fn in delete_files: + if fn in self.files: + del self.files[fn] fn = os.path.join(repo.working_dir, fn) repo.index.remove([fn]) |