diff --git a/tests/fixtures/config/openstack/git/openstack_keystone/README b/tests/fixtures/config/openstack/git/openstack_keystone/README new file mode 100644 index 0000000000..9daeafb986 --- /dev/null +++ b/tests/fixtures/config/openstack/git/openstack_keystone/README @@ -0,0 +1 @@ +test diff --git a/tests/fixtures/config/openstack/git/openstack_nova/README b/tests/fixtures/config/openstack/git/openstack_nova/README new file mode 100644 index 0000000000..9daeafb986 --- /dev/null +++ b/tests/fixtures/config/openstack/git/openstack_nova/README @@ -0,0 +1 @@ +test diff --git a/tests/fixtures/config/openstack/git/project-config/zuul.yaml b/tests/fixtures/config/openstack/git/project-config/zuul.yaml new file mode 100644 index 0000000000..a4311f8e81 --- /dev/null +++ b/tests/fixtures/config/openstack/git/project-config/zuul.yaml @@ -0,0 +1,71 @@ +# Pipeline definitions + +- pipeline: + name: check + manager: independent + success-message: Build succeeded (check). + source: + gerrit + trigger: + gerrit: + - event: patchset-created + success: + gerrit: + verified: 1 + failure: + gerrit: + verified: -1 + +- pipeline: + name: gate + manager: dependent + success-message: Build succeeded (gate). + source: + gerrit + trigger: + gerrit: + - event: comment-added + approval: + - approved: 1 + success: + gerrit: + verified: 2 + submit: true + failure: + gerrit: + verified: -2 + start: + gerrit: + verified: 0 + precedence: high + +# Job definitions + +- job: + name: python27 + +- job: + name: python35 + +- project-template: + name: python-jobs + gate: + jobs: + - python27 + - python35 + +# Project definitions + +- project: + name: openstack/nova + templates: + - python-jobs + gate: + queue: integrated + +- project: + name: openstack/keystone + templates: + - python-jobs + gate: + queue: integrated diff --git a/tests/fixtures/config/openstack/main.yaml b/tests/fixtures/config/openstack/main.yaml new file mode 100644 index 0000000000..95a0952fd5 --- /dev/null +++ b/tests/fixtures/config/openstack/main.yaml @@ -0,0 +1,6 @@ +- tenant: + name: openstack + source: + gerrit: + config-repos: + - project-config diff --git a/tests/test_openstack.py b/tests/test_openstack.py new file mode 100644 index 0000000000..f845cf6431 --- /dev/null +++ b/tests/test_openstack.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python + +# Copyright 2012 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import logging + +from tests.base import AnsibleZuulTestCase + +logging.basicConfig(level=logging.DEBUG, + format='%(asctime)s %(name)-32s ' + '%(levelname)-8s %(message)s') + + +class TestOpenStack(AnsibleZuulTestCase): + # A temporary class to experiment with how openstack can use + # Zuulv3 + + tenant_config_file = 'config/openstack/main.yaml' + + def test_openstack(self): + A = self.fake_gerrit.addFakeChange('openstack/nova', 'master', 'A') + A.addApproval('code-review', 2) + self.fake_gerrit.addEvent(A.addApproval('approved', 1)) + self.waitUntilSettled() + self.assertEqual(self.getJobFromHistory('python27').result, + 'SUCCESS') + self.assertEqual(self.getJobFromHistory('python35').result, + 'SUCCESS') + self.assertEqual(A.data['status'], 'MERGED') + self.assertEqual(A.reported, 2, + "A should report start and success")