summaryrefslogtreecommitdiff
path: root/tests/base.py
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-04-28 21:46:40 +0000
committerGerrit Code Review <review@openstack.org>2022-04-28 21:46:40 +0000
commit0d1e2302d76b72198995eab70080f1af6d2def1a (patch)
tree0e2b27427629191118016ace5dd98d272ad35133 /tests/base.py
parenta00cb7ad9c685e7ff4c9137feed5476de99fdb8d (diff)
parent87f5b9d66bf654378d53387f70983b7191c70e96 (diff)
downloadzuul-0d1e2302d76b72198995eab70080f1af6d2def1a.tar.gz
Merge "Add more files tests to Pagure driver"
Diffstat (limited to 'tests/base.py')
-rw-r--r--tests/base.py23
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])