Re-enable requirement vote tests
Re-enable the requirement vote layout tests that ensure a specific
vote has been placed.
Change-Id: Ie4b394ff0dc3cc727b1ced6d7abfdeed8efee163
diff --git a/tests/fixtures/config/requirements/vote1/git/common-config/zuul.yaml b/tests/fixtures/config/requirements/vote1/git/common-config/zuul.yaml
new file mode 100644
index 0000000..00afe79
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote1/git/common-config/zuul.yaml
@@ -0,0 +1,55 @@
+
+- pipeline:
+ name: pipeline
+ manager: independent
+ require:
+ approval:
+ - username: jenkins
+ verified: 1
+ source:
+ gerrit
+ trigger:
+ gerrit:
+ - event: comment-added
+ success:
+ gerrit:
+ verified: 1
+ failure:
+ gerrit:
+ verified: -1
+
+- pipeline:
+ name: trigger
+ manager: independent
+ source:
+ gerrit
+ trigger:
+ gerrit:
+ - event: comment-added
+ require-approval:
+ - username: jenkins
+ verified: 1
+ success:
+ gerrit:
+ verified: 1
+ failure:
+ gerrit:
+ verified: -1
+
+- job:
+ name: project1-job
+
+- job:
+ name: project2-job
+
+- project:
+ name: org/project1
+ pipeline:
+ jobs:
+ - project1-job
+
+- project:
+ name: org/project2
+ trigger:
+ jobs:
+ - project2-job
diff --git a/tests/fixtures/config/requirements/vote1/git/org_project1/README b/tests/fixtures/config/requirements/vote1/git/org_project1/README
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote1/git/org_project1/README
@@ -0,0 +1 @@
+test
diff --git a/tests/fixtures/config/requirements/vote1/git/org_project2/README b/tests/fixtures/config/requirements/vote1/git/org_project2/README
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote1/git/org_project2/README
@@ -0,0 +1 @@
+test
diff --git a/tests/fixtures/config/requirements/vote1/main.yaml b/tests/fixtures/config/requirements/vote1/main.yaml
new file mode 100644
index 0000000..a22ed5c
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote1/main.yaml
@@ -0,0 +1,6 @@
+- tenant:
+ name: tenant-one
+ source:
+ gerrit:
+ config-repos:
+ - common-config
diff --git a/tests/fixtures/config/requirements/vote2/git/common-config/zuul.yaml b/tests/fixtures/config/requirements/vote2/git/common-config/zuul.yaml
new file mode 100644
index 0000000..73db7a7
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote2/git/common-config/zuul.yaml
@@ -0,0 +1,54 @@
+- pipeline:
+ name: pipeline
+ manager: independent
+ require:
+ approval:
+ - username: jenkins
+ verified: [1, 2]
+ source:
+ gerrit
+ trigger:
+ gerrit:
+ - event: comment-added
+ success:
+ gerrit:
+ verified: 1
+ failure:
+ gerrit:
+ verified: -1
+
+- pipeline:
+ name: trigger
+ manager: independent
+ source:
+ gerrit
+ trigger:
+ gerrit:
+ - event: comment-added
+ require-approval:
+ - username: jenkins
+ verified: [1, 2]
+ success:
+ gerrit:
+ verified: 1
+ failure:
+ gerrit:
+ verified: -1
+
+- job:
+ name: project1-job
+
+- job:
+ name: project2-job
+
+- project:
+ name: org/project1
+ pipeline:
+ jobs:
+ - project1-job
+
+- project:
+ name: org/project2
+ trigger:
+ jobs:
+ - project2-job
diff --git a/tests/fixtures/config/requirements/vote2/git/org_project1/README b/tests/fixtures/config/requirements/vote2/git/org_project1/README
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote2/git/org_project1/README
@@ -0,0 +1 @@
+test
diff --git a/tests/fixtures/config/requirements/vote2/git/org_project2/README b/tests/fixtures/config/requirements/vote2/git/org_project2/README
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote2/git/org_project2/README
@@ -0,0 +1 @@
+test
diff --git a/tests/fixtures/config/requirements/vote2/main.yaml b/tests/fixtures/config/requirements/vote2/main.yaml
new file mode 100644
index 0000000..a22ed5c
--- /dev/null
+++ b/tests/fixtures/config/requirements/vote2/main.yaml
@@ -0,0 +1,6 @@
+- tenant:
+ name: tenant-one
+ source:
+ gerrit:
+ config-repos:
+ - common-config
diff --git a/tests/fixtures/layout-requirement-vote1.yaml b/tests/fixtures/layout-requirement-vote1.yaml
deleted file mode 100644
index 7ccadff..0000000
--- a/tests/fixtures/layout-requirement-vote1.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-pipelines:
- - name: pipeline
- manager: IndependentPipelineManager
- require:
- approval:
- - username: jenkins
- verified: 1
- trigger:
- gerrit:
- - event: comment-added
- success:
- gerrit:
- verified: 1
- failure:
- gerrit:
- verified: -1
-
- - name: trigger
- manager: IndependentPipelineManager
- trigger:
- gerrit:
- - event: comment-added
- require-approval:
- - username: jenkins
- verified: 1
- success:
- gerrit:
- verified: 1
- failure:
- gerrit:
- verified: -1
-
-projects:
- - name: org/project1
- pipeline:
- - project1-pipeline
- - name: org/project2
- trigger:
- - project2-trigger
diff --git a/tests/fixtures/layout-requirement-vote2.yaml b/tests/fixtures/layout-requirement-vote2.yaml
deleted file mode 100644
index 33d84d1..0000000
--- a/tests/fixtures/layout-requirement-vote2.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-pipelines:
- - name: pipeline
- manager: IndependentPipelineManager
- require:
- approval:
- - username: jenkins
- verified: [1, 2]
- trigger:
- gerrit:
- - event: comment-added
- success:
- gerrit:
- verified: 1
- failure:
- gerrit:
- verified: -1
-
- - name: trigger
- manager: IndependentPipelineManager
- trigger:
- gerrit:
- - event: comment-added
- require-approval:
- - username: jenkins
- verified: [1, 2]
- success:
- gerrit:
- verified: 1
- failure:
- gerrit:
- verified: -1
-
-projects:
- - name: org/project1
- pipeline:
- - project1-pipeline
- - name: org/project2
- trigger:
- - project2-trigger
diff --git a/tests/test_requirements.py b/tests/test_requirements.py
index a33353a..1c61aa1 100644
--- a/tests/test_requirements.py
+++ b/tests/test_requirements.py
@@ -168,90 +168,82 @@
self.assertEqual(self.history[0].name, job)
-class TestRequirements(ZuulTestCase):
- """Test pipeline and trigger requirements"""
+class TestRequirementsVote1(ZuulTestCase):
+ """Requirements with a voting requirement"""
- tenant_config_file = 'config/requirements/main.yaml'
+ tenant_config_file = 'config/requirements/vote1/main.yaml'
- @skip("Disabled for early v3 development")
def test_pipeline_require_approval_vote1(self):
"Test pipeline requirement: approval vote with one value"
return self._test_require_approval_vote1('org/project1',
- 'project1-pipeline')
+ 'project1-job')
- @skip("Disabled for early v3 development")
def test_trigger_require_approval_vote1(self):
"Test trigger requirement: approval vote with one value"
return self._test_require_approval_vote1('org/project2',
- 'project2-trigger')
+ 'project2-job')
def _test_require_approval_vote1(self, project, job):
- self.updateConfigLayout(
- 'tests/fixtures/layout-requirement-vote1.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 approval from Jenkins so should not be enqueued
self.assertEqual(len(self.history), 0)
# A -1 from jenkins should not cause it to be enqueued
- A.addApproval('VRFY', -1, username='jenkins')
+ A.addApproval('verified', -1, username='jenkins')
self.fake_gerrit.addEvent(comment)
self.waitUntilSettled()
self.assertEqual(len(self.history), 0)
# A +1 should allow it to be enqueued
- A.addApproval('VRFY', 1, username='jenkins')
+ 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)
- @skip("Disabled for early v3 development")
+
+class TestRequirementsVote2(ZuulTestCase):
+ """Requirements with a voting requirement"""
+
+ tenant_config_file = 'config/requirements/vote2/main.yaml'
+
def test_pipeline_require_approval_vote2(self):
"Test pipeline requirement: approval vote with two values"
return self._test_require_approval_vote2('org/project1',
- 'project1-pipeline')
+ 'project1-job')
- @skip("Disabled for early v3 development")
def test_trigger_require_approval_vote2(self):
"Test trigger requirement: approval vote with two values"
return self._test_require_approval_vote2('org/project2',
- 'project2-trigger')
+ 'project2-job')
def _test_require_approval_vote2(self, project, job):
- self.updateConfigLayout(
- 'tests/fixtures/layout-requirement-vote2.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 approval from Jenkins so should not be enqueued
self.assertEqual(len(self.history), 0)
# A -1 from jenkins should not cause it to be enqueued
- A.addApproval('VRFY', -1, username='jenkins')
+ A.addApproval('verified', -1, username='jenkins')
self.fake_gerrit.addEvent(comment)
self.waitUntilSettled()
self.assertEqual(len(self.history), 0)
# A -2 from jenkins should not cause it to be enqueued
- A.addApproval('VRFY', -2, username='jenkins')
+ A.addApproval('verified', -2, username='jenkins')
self.fake_gerrit.addEvent(comment)
self.waitUntilSettled()
self.assertEqual(len(self.history), 0)
# A +1 from jenkins should allow it to be enqueued
- A.addApproval('VRFY', 1, username='jenkins')
+ A.addApproval('verified', 1, username='jenkins')
self.fake_gerrit.addEvent(comment)
self.waitUntilSettled()
self.assertEqual(len(self.history), 1)
@@ -260,17 +252,23 @@
# A +2 should allow it to be enqueued
B = self.fake_gerrit.addFakeChange(project, 'master', 'B')
# A comment event that we will keep submitting to trigger
- comment = B.addApproval('CRVW', 2, username='nobody')
+ comment = B.addApproval('code-review', 2, username='nobody')
self.fake_gerrit.addEvent(comment)
self.waitUntilSettled()
self.assertEqual(len(self.history), 1)
- B.addApproval('VRFY', 2, username='jenkins')
+ B.addApproval('verified', 2, username='jenkins')
self.fake_gerrit.addEvent(comment)
self.waitUntilSettled()
self.assertEqual(len(self.history), 2)
self.assertEqual(self.history[1].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_current_patchset(self):
"Test pipeline requirement: current-patchset"