Merge "pagure: ensure files is list and not a dict_keys"
This commit is contained in:
commit
b34f9ffe34
|
@ -1131,7 +1131,7 @@ class FakePagurePullRequest(object):
|
||||||
log = logging.getLogger("zuul.test.FakePagurePullRequest")
|
log = logging.getLogger("zuul.test.FakePagurePullRequest")
|
||||||
|
|
||||||
def __init__(self, pagure, number, project, branch,
|
def __init__(self, pagure, number, project, branch,
|
||||||
subject, upstream_root, files=[], number_of_commits=1,
|
subject, upstream_root, files={}, number_of_commits=1,
|
||||||
initial_comment=None):
|
initial_comment=None):
|
||||||
self.pagure = pagure
|
self.pagure = pagure
|
||||||
self.source = pagure
|
self.source = pagure
|
||||||
|
@ -1291,17 +1291,17 @@ class FakePagurePullRequest(object):
|
||||||
return PagureChangeReference.create(
|
return PagureChangeReference.create(
|
||||||
repo, self.getPRReference(), 'refs/tags/init')
|
repo, self.getPRReference(), 'refs/tags/init')
|
||||||
|
|
||||||
def addCommit(self, files=[]):
|
def addCommit(self, files={}):
|
||||||
"""Adds a commit on top of the actual PR head."""
|
"""Adds a commit on top of the actual PR head."""
|
||||||
self._addCommitInPR(files=files)
|
self._addCommitInPR(files=files)
|
||||||
self._updateTimeStamp()
|
self._updateTimeStamp()
|
||||||
|
|
||||||
def forcePush(self, files=[]):
|
def forcePush(self, files={}):
|
||||||
"""Clears actual commits and add a commit on top of the base."""
|
"""Clears actual commits and add a commit on top of the base."""
|
||||||
self._addCommitInPR(files=files, reset=True)
|
self._addCommitInPR(files=files, reset=True)
|
||||||
self._updateTimeStamp()
|
self._updateTimeStamp()
|
||||||
|
|
||||||
def _addCommitInPR(self, files=[], reset=False):
|
def _addCommitInPR(self, files={}, reset=False):
|
||||||
repo = self._getRepo()
|
repo = self._getRepo()
|
||||||
ref = repo.references[self.getPRReference()]
|
ref = repo.references[self.getPRReference()]
|
||||||
if reset:
|
if reset:
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
- pipeline:
|
||||||
|
name: check
|
||||||
|
manager: independent
|
||||||
|
trigger:
|
||||||
|
pagure:
|
||||||
|
- event: pg_pull_request
|
||||||
|
action: opened
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
run: playbooks/base.yaml
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: project-test1
|
||||||
|
files:
|
||||||
|
- .*-requires
|
||||||
|
run: playbooks/project-test1.yaml
|
||||||
|
|
||||||
|
- project:
|
||||||
|
name: org/project
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- project-test1
|
|
@ -284,6 +284,28 @@ class TestPagureDriver(ZuulTestCase):
|
||||||
], ordered=False
|
], ordered=False
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@simple_layout('layouts/files-pagure.yaml', driver='pagure')
|
||||||
|
def test_pull_matched_file_event(self):
|
||||||
|
A = self.fake_pagure.openFakePullRequest(
|
||||||
|
'org/project', 'master', 'A',
|
||||||
|
files={'random.txt': 'test', 'build-requires': 'test'})
|
||||||
|
self.fake_pagure.emitEvent(A.getPullRequestOpenedEvent())
|
||||||
|
self.waitUntilSettled()
|
||||||
|
self.assertEqual(1, len(self.history))
|
||||||
|
|
||||||
|
B = self.fake_pagure.openFakePullRequest('org/project', 'master', 'B',
|
||||||
|
files={'random.txt': 'test2'})
|
||||||
|
self.fake_pagure.emitEvent(B.getPullRequestOpenedEvent())
|
||||||
|
self.waitUntilSettled()
|
||||||
|
self.assertEqual(1, len(self.history))
|
||||||
|
|
||||||
|
C = self.fake_pagure.openFakePullRequest(
|
||||||
|
'org/project', 'master', 'C',
|
||||||
|
files={'build-requires': 'test'})
|
||||||
|
self.fake_pagure.emitEvent(C.getPullRequestOpenedEvent())
|
||||||
|
self.waitUntilSettled()
|
||||||
|
self.assertEqual(2, len(self.history))
|
||||||
|
|
||||||
@simple_layout('layouts/basic-pagure.yaml', driver='pagure')
|
@simple_layout('layouts/basic-pagure.yaml', driver='pagure')
|
||||||
def test_tag_created(self):
|
def test_tag_created(self):
|
||||||
|
|
||||||
|
|
|
@ -757,7 +757,7 @@ class PagureConnection(BaseConnection):
|
||||||
pagure = self.get_project_api_client(project_name)
|
pagure = self.get_project_api_client(project_name)
|
||||||
pr = pagure.get_pr(number)
|
pr = pagure.get_pr(number)
|
||||||
diffstats = pagure.get_pr_diffstats(number)
|
diffstats = pagure.get_pr_diffstats(number)
|
||||||
pr['files'] = diffstats.keys()
|
pr['files'] = list(diffstats.keys())
|
||||||
self.log.info('Got PR %s#%s', project_name, number)
|
self.log.info('Got PR %s#%s', project_name, number)
|
||||||
return pr
|
return pr
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue