Re-enable requirement-newer-than tests
Re-enable the requirement-newer-than layout tests that ensure a specific user within a specific time approved a request. Change-Id: I8ae870257db06e3e9958e151bcf4791c87f4ec71
This commit is contained in:
parent
878ea83690
commit
b59a73f6e9
|
@ -1,10 +1,8 @@
|
|||
pipelines:
|
||||
- name: pipeline
|
||||
manager: IndependentPipelineManager
|
||||
require:
|
||||
approval:
|
||||
- username: jenkins
|
||||
newer-than: 48h
|
||||
- pipeline:
|
||||
name: pipeline
|
||||
manager: independent
|
||||
source:
|
||||
gerrit
|
||||
trigger:
|
||||
gerrit:
|
||||
- event: comment-added
|
||||
|
@ -14,9 +12,16 @@ pipelines:
|
|||
failure:
|
||||
gerrit:
|
||||
verified: -1
|
||||
require:
|
||||
approval:
|
||||
- username: jenkins
|
||||
newer-than: 48h
|
||||
|
||||
- name: trigger
|
||||
manager: IndependentPipelineManager
|
||||
- pipeline:
|
||||
name: trigger
|
||||
manager: independent
|
||||
source:
|
||||
gerrit
|
||||
trigger:
|
||||
gerrit:
|
||||
- event: comment-added
|
||||
|
@ -30,10 +35,20 @@ pipelines:
|
|||
gerrit:
|
||||
verified: -1
|
||||
|
||||
projects:
|
||||
- name: org/project1
|
||||
- job:
|
||||
name: project1-job
|
||||
|
||||
- job:
|
||||
name: project2-job
|
||||
|
||||
- project:
|
||||
name: org/project1
|
||||
pipeline:
|
||||
- project1-pipeline
|
||||
- name: org/project2
|
||||
jobs:
|
||||
- project1-job
|
||||
|
||||
- project:
|
||||
name: org/project2
|
||||
trigger:
|
||||
- project2-trigger
|
||||
jobs:
|
||||
- project2-job
|
|
@ -0,0 +1 @@
|
|||
test
|
|
@ -0,0 +1 @@
|
|||
test
|
|
@ -0,0 +1,6 @@
|
|||
- tenant:
|
||||
name: tenant-one
|
||||
source:
|
||||
gerrit:
|
||||
config-repos:
|
||||
- common-config
|
|
@ -25,49 +25,51 @@ logging.basicConfig(level=logging.DEBUG,
|
|||
'%(levelname)-8s %(message)s')
|
||||
|
||||
|
||||
class TestRequirements(ZuulTestCase):
|
||||
"""Test pipeline and trigger requirements"""
|
||||
class TestRequirementsApprovalNewerThan(ZuulTestCase):
|
||||
"""Requirements with a newer-than comment requirement"""
|
||||
|
||||
tenant_config_file = 'config/requirements/newer-than/main.yaml'
|
||||
|
||||
@skip("Disabled for early v3 development")
|
||||
def test_pipeline_require_approval_newer_than(self):
|
||||
"Test pipeline requirement: approval newer than"
|
||||
return self._test_require_approval_newer_than('org/project1',
|
||||
'project1-pipeline')
|
||||
'project1-job')
|
||||
|
||||
@skip("Disabled for early v3 development")
|
||||
def test_trigger_require_approval_newer_than(self):
|
||||
"Test trigger requirement: approval newer than"
|
||||
return self._test_require_approval_newer_than('org/project2',
|
||||
'project2-trigger')
|
||||
'project2-job')
|
||||
|
||||
def _test_require_approval_newer_than(self, project, job):
|
||||
self.updateConfigLayout(
|
||||
'tests/fixtures/layout-requirement-newer-than.yaml')
|
||||
self.sched.reconfigure(self.config)
|
||||
self.registerJobs()
|
||||
|
||||
A = self.fake_gerrit.addFakeChange(project, 'master', 'A')
|
||||
# A comment event that we will keep submitting to trigger
|
||||
comment = A.addApproval('CRVW', 2, username='nobody')
|
||||
comment = A.addApproval('code-review', 2, username='nobody')
|
||||
self.fake_gerrit.addEvent(comment)
|
||||
self.waitUntilSettled()
|
||||
# No +1 from Jenkins so should not be enqueued
|
||||
self.assertEqual(len(self.history), 0)
|
||||
|
||||
# Add a too-old +1, should not be enqueued
|
||||
A.addApproval('VRFY', 1, username='jenkins',
|
||||
A.addApproval('verified', 1, username='jenkins',
|
||||
granted_on=time.time() - 72 * 60 * 60)
|
||||
self.fake_gerrit.addEvent(comment)
|
||||
self.waitUntilSettled()
|
||||
self.assertEqual(len(self.history), 0)
|
||||
|
||||
# Add a recent +1
|
||||
self.fake_gerrit.addEvent(A.addApproval('VRFY', 1, username='jenkins'))
|
||||
self.fake_gerrit.addEvent(A.addApproval('verified', 1,
|
||||
username='jenkins'))
|
||||
self.fake_gerrit.addEvent(comment)
|
||||
self.waitUntilSettled()
|
||||
self.assertEqual(len(self.history), 1)
|
||||
self.assertEqual(self.history[0].name, job)
|
||||
|
||||
|
||||
class TestRequirements(ZuulTestCase):
|
||||
"""Test pipeline and trigger requirements"""
|
||||
|
||||
tenant_config_file = 'config/requirements/main.yaml'
|
||||
|
||||
@skip("Disabled for early v3 development")
|
||||
def test_pipeline_require_approval_older_than(self):
|
||||
"Test pipeline requirement: approval older than"
|
||||
|
|
|
@ -463,9 +463,9 @@ class PipelineParser(object):
|
|||
f = model.ChangeishFilter(
|
||||
open=require.get('open'),
|
||||
current_patchset=require.get('current-patchset'),
|
||||
statuses=to_list(require.get('status')),
|
||||
required_approvals=to_list(require.get('approval')),
|
||||
reject_approvals=to_list(reject.get('approval'))
|
||||
statuses=as_list(require.get('status')),
|
||||
required_approvals=as_list(require.get('approval')),
|
||||
reject_approvals=as_list(reject.get('approval'))
|
||||
)
|
||||
manager.changeish_filters.append(f)
|
||||
|
||||
|
|
Loading…
Reference in New Issue