Revert "Add support for negative requirements"

This reverts commit b2068e80a814e5cf5c5d3786ea15747483bb236f.

This change does not appear to do the correct thing with "any" and
caused issues for us in production.  Our gate requirement of
jenkins>=+1 _and_ workflow=+1 became jenkins >=+1 or workflow=+1.

Change-Id: Ie5aa776b2dd718fcf025148073a0171332f358fb
diff --git a/tests/fixtures/layout-requirement-all.yaml b/tests/fixtures/layout-requirement-all.yaml
deleted file mode 100644
index 968739d..0000000
--- a/tests/fixtures/layout-requirement-all.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-pipelines:
-  - name: pipeline
-    manager: IndependentPipelineManager
-    require:
-      all-approvals:
-        - username: jenkins
-          verified: [1, 2]
-        - 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-all-approvals:
-            - username: jenkins
-              verified: [1, 2]
-            - 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/fixtures/layout-requirement-any.yaml b/tests/fixtures/layout-requirement-any.yaml
deleted file mode 100644
index 6275d8d..0000000
--- a/tests/fixtures/layout-requirement-any.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-pipelines:
-  - name: pipeline
-    manager: IndependentPipelineManager
-    require:
-      any-approval:
-        - username: jenkins
-          verified: [1, 2]
-        - username: core-reviewer
-          code-review: "![-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-any-approval:
-            - username: jenkins
-              verified: [1, 2]
-            - username: core-reviewer
-              code-review: "![-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/fixtures/layout-requirement-email.yaml b/tests/fixtures/layout-requirement-email.yaml
index dadcd6c..4bfb733 100644
--- a/tests/fixtures/layout-requirement-email.yaml
+++ b/tests/fixtures/layout-requirement-email.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - email: jenkins@example.com
     trigger:
       gerrit:
@@ -19,7 +19,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - email: jenkins@example.com
     success:
       gerrit:
diff --git a/tests/fixtures/layout-requirement-negative-username.yaml b/tests/fixtures/layout-requirement-negative-username.yaml
deleted file mode 100644
index f542b86..0000000
--- a/tests/fixtures/layout-requirement-negative-username.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-pipelines:
-  - name: pipeline
-    manager: IndependentPipelineManager
-    require:
-      all-approvals:
-        - username: '!jenkins'
-    trigger:
-      gerrit:
-        - event: comment-added
-    success:
-      gerrit:
-        verified: 1
-    failure:
-      gerrit:
-        verified: -1
-
-  - name: trigger
-    manager: IndependentPipelineManager
-    trigger:
-      gerrit:
-        - event: comment-added
-          require-all-approvals:
-            - username: '!jenkins'
-    success:
-      gerrit:
-        verified: 1
-    failure:
-      gerrit:
-        verified: -1
-
-projects:
-  - name: org/project1
-    pipeline:
-      - project1-pipeline
-  - name: org/project2
-    trigger:
-      - project2-trigger
\ No newline at end of file
diff --git a/tests/fixtures/layout-requirement-newer-than.yaml b/tests/fixtures/layout-requirement-newer-than.yaml
index f723c79..b6beb35 100644
--- a/tests/fixtures/layout-requirement-newer-than.yaml
+++ b/tests/fixtures/layout-requirement-newer-than.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - username: jenkins
           newer-than: 48h
     trigger:
@@ -20,7 +20,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - username: jenkins
               newer-than: 48h
     success:
diff --git a/tests/fixtures/layout-requirement-older-than.yaml b/tests/fixtures/layout-requirement-older-than.yaml
index 0e011cc..2edf9df 100644
--- a/tests/fixtures/layout-requirement-older-than.yaml
+++ b/tests/fixtures/layout-requirement-older-than.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - username: jenkins
           older-than: 48h
     trigger:
@@ -20,7 +20,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - username: jenkins
               older-than: 48h
     success:
diff --git a/tests/fixtures/layout-requirement-username.yaml b/tests/fixtures/layout-requirement-username.yaml
index 8520179..7a549f0 100644
--- a/tests/fixtures/layout-requirement-username.yaml
+++ b/tests/fixtures/layout-requirement-username.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - username: jenkins
     trigger:
       gerrit:
@@ -19,7 +19,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - username: jenkins
     success:
       gerrit:
diff --git a/tests/fixtures/layout-requirement-vote.yaml b/tests/fixtures/layout-requirement-vote.yaml
index 6736e98..7ccadff 100644
--- a/tests/fixtures/layout-requirement-vote.yaml
+++ b/tests/fixtures/layout-requirement-vote.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - username: jenkins
           verified: 1
     trigger:
@@ -20,7 +20,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - username: jenkins
               verified: 1
     success:
diff --git a/tests/fixtures/layout-requirement-vote1.yaml b/tests/fixtures/layout-requirement-vote1.yaml
index 6736e98..7ccadff 100644
--- a/tests/fixtures/layout-requirement-vote1.yaml
+++ b/tests/fixtures/layout-requirement-vote1.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - username: jenkins
           verified: 1
     trigger:
@@ -20,7 +20,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - username: jenkins
               verified: 1
     success:
diff --git a/tests/fixtures/layout-requirement-vote2.yaml b/tests/fixtures/layout-requirement-vote2.yaml
index a6cd6a3..33d84d1 100644
--- a/tests/fixtures/layout-requirement-vote2.yaml
+++ b/tests/fixtures/layout-requirement-vote2.yaml
@@ -2,7 +2,7 @@
   - name: pipeline
     manager: IndependentPipelineManager
     require:
-      any-approval:
+      approval:
         - username: jenkins
           verified: [1, 2]
     trigger:
@@ -20,7 +20,7 @@
     trigger:
       gerrit:
         - event: comment-added
-          require-any-approval:
+          require-approval:
             - username: jenkins
               verified: [1, 2]
     success:
diff --git a/tests/test_requirements.py b/tests/test_requirements.py
index 52e3973..4316925 100644
--- a/tests/test_requirements.py
+++ b/tests/test_requirements.py
@@ -323,131 +323,3 @@
         self.fake_gerrit.addEvent(B.addApproval('CRVW', 2))
         self.waitUntilSettled()
         self.assertEqual(len(self.history), 1)
-
-    def test_pipeline_require_negative_username(self):
-        "Test negative pipeline requirement: no comment from jenkins"
-        return self._test_require_negative_username('org/project1',
-                                                    'project1-pipeline')
-
-    def test_trigger_require_negative_username(self):
-        "Test negative trigger requirement: no comment from jenkins"
-        return self._test_require_negative_username('org/project2',
-                                                    'project2-trigger')
-
-    def _test_require_negative_username(self, project, job):
-        "Test negative username's match"
-        # Should only trigger if Jenkins hasn't voted.
-        self.config.set(
-            'zuul', 'layout_config',
-            'tests/fixtures/layout-requirement-negative-username.yaml')
-        self.sched.reconfigure(self.config)
-        self.registerJobs()
-
-        # add in a change with no comments
-        A = self.fake_gerrit.addFakeChange(project, 'master', 'A')
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 0)
-
-        # add in a comment that will trigger
-        self.fake_gerrit.addEvent(A.addApproval('CRVW', 1,
-                                                username='reviewer'))
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 1)
-        self.assertEqual(self.history[0].name, job)
-
-        # add in a comment from jenkins user which shouldn't trigger
-        self.fake_gerrit.addEvent(A.addApproval('VRFY', 1, username='jenkins'))
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 1)
-
-        # Check future reviews also won't trigger as a 'jenkins' user has
-        # commented previously
-        self.fake_gerrit.addEvent(A.addApproval('CRVW', 1,
-                                                username='reviewer'))
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 1)
-
-    def test_pipeline_require_any(self):
-        "Test pipeline requirement: any requirement passes"
-        return self._test_require_any('org/project1', 'project1-pipeline')
-
-    def test_trigger_require_any(self):
-        "Test trigger requirement: any requirement passes"
-        return self._test_require_any('org/project2', 'project2-trigger')
-
-    def _test_require_any(self, project, job):
-        "Test any of the given requirements are matched"
-        self.config.set(
-            'zuul', 'layout_config',
-            'tests/fixtures/layout-requirement-any.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', 1, 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 allow it to be enqueued
-        A.addApproval('VRFY', 1, username='jenkins')
-        self.fake_gerrit.addEvent(comment)
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 1)
-        self.assertEqual(self.history[0].name, job)
-
-        # A non-negative from a non-core should not queue
-        B = self.fake_gerrit.addFakeChange(project, 'master', 'B')
-        # A comment event that we will keep submitting to trigger
-        comment = B.addApproval('CRVW', 1, username='nobody')
-        self.fake_gerrit.addEvent(comment)
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 1)
-
-        # A non-negative from a core member should queue
-        B.addApproval('CRVW', 2, username='core-reviewer')
-        self.fake_gerrit.addEvent(comment)
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 2)
-        self.assertEqual(self.history[1].name, job)
-
-    def test_pipeline_require_all(self):
-        "Test pipeline requirement: all requirements pass"
-        return self._test_require_all('org/project1', 'project1-pipeline')
-
-    def test_trigger_require_all(self):
-        "Test trigger requirement: all requirements pass"
-        return self._test_require_all('org/project2', 'project2-trigger')
-
-    def _test_require_all(self, project, job):
-        "Test all of the given requirements are matched"
-        self.config.set(
-            'zuul', 'layout_config',
-            'tests/fixtures/layout-requirement-all.yaml')
-        self.sched.reconfigure(self.config)
-        self.registerJobs()
-
-        A = self.fake_gerrit.addFakeChange(project, 'master', 'A')
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 0)
-
-        # A +2 from 'nobody' only satisfies the non-negative requirement,
-        # not the requirement to be from 'jenkins'
-        comment = A.addApproval('VRFY', 1, username='nobody')
-        self.fake_gerrit.addEvent(comment)
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 0)
-
-        B = self.fake_gerrit.addFakeChange(project, 'master', 'A')
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 0)
-
-        # A +2 from Jenkins satisfies both the user condition and the
-        # non-negative condition
-        comment = B.addApproval('VRFY', 2, username='jenkins')
-        self.fake_gerrit.addEvent(comment)
-        self.waitUntilSettled()
-        self.assertEqual(len(self.history), 1)
-        self.assertEqual(self.history[0].name, job)