Enable test_post*

This requires some updating of how merger data construction gets
handled between Refs and Changes.

Change-Id: Icd81a95565ab137b98d6a8ac52e262487d412534
Story: 2000773
Task: 3389
This commit is contained in:
Adam Gandelman 2016-11-29 14:27:17 -08:00
parent 878ea83690
commit c5e4f1d262
5 changed files with 33 additions and 23 deletions

View File

@ -477,6 +477,9 @@ class FakeGerritConnection(zuul.connection.gerrit.GerritConnection):
def getGitUrl(self, project):
return os.path.join(self.upstream_root, project.name)
def _getGitwebUrl(self, project, sha=None):
return self.getGitwebUrl(project, sha)
class BuildHistory(object):
def __init__(self, **kw):

View File

@ -0,0 +1,23 @@
- pipeline:
name: post
manager: independent
source:
gerrit
trigger:
gerrit:
- event: ref-updated
ref: ^(?!refs/).*$
ignore-deletes: False
- job:
name: project-post
nodes:
- name: static
image: ubuntu-xenial
- project:
name: org/project
post:
jobs:
- project-post

View File

@ -1,16 +0,0 @@
includes:
- python-file: custom_functions.py
pipelines:
- name: post
manager: IndependentPipelineManager
trigger:
gerrit:
- event: ref-updated
ref: ^(?!refs/).*$
ignore-deletes: False
projects:
- name: org/project
post:
- project-post

View File

@ -1004,7 +1004,6 @@ class TestScheduler(ZuulTestCase):
self.assertEqual(C.reported, 2)
self.assertEqual(len(self.history), 6)
@skip("Disabled for early v3 development")
def test_post(self):
"Test that post jobs run"
@ -1027,7 +1026,6 @@ class TestScheduler(ZuulTestCase):
self.assertEqual(len(self.history), 1)
self.assertIn('project-post', job_names)
@skip("Disabled for early v3 development")
def test_post_ignore_deletes(self):
"Test that deleting refs does not trigger post jobs"
@ -1050,12 +1048,10 @@ class TestScheduler(ZuulTestCase):
self.assertEqual(len(self.history), 0)
self.assertNotIn('project-post', job_names)
@skip("Disabled for early v3 development")
def test_post_ignore_deletes_negative(self):
"Test that deleting refs does trigger post jobs"
self.updateConfigLayout(
'tests/fixtures/layout-dont-ignore-deletes.yaml')
self.updateConfigLayout('layout-dont-ignore-ref-deletes')
self.sched.reconfigure(self.config)
e = {

View File

@ -32,20 +32,24 @@ def make_merger_item(item):
patchset = None
oldrev = None
newrev = None
refspec = None
if hasattr(item.change, 'number'):
number = item.change.number
patchset = item.change.patchset
refspec = item.change.refspec
branch = item.change.branch
elif hasattr(item.change, 'newrev'):
oldrev = item.change.oldrev
newrev = item.change.newrev
branch = item.change.ref
connection_name = item.pipeline.source.connection.connection_name
return dict(project=item.change.project.name,
url=item.pipeline.source.getGitUrl(
item.change.project),
connection_name=connection_name,
merge_mode=item.change.project.merge_mode,
refspec=item.change.refspec,
branch=item.change.branch,
refspec=refspec,
branch=branch,
ref=item.current_build_set.ref,
number=number,
patchset=patchset,