Add an OpenStack test

This is a temporary test to experiment with how we might use Zuulv3
features to organize testing for OpenStack.

It doesn't do anything interesting yet.

Change-Id: I852feeff7f28be3dc408c96df06cb8f919b13c75
This commit is contained in:
James E. Blair 2016-08-24 10:42:29 -07:00
parent f42035b0f2
commit 6ac4c136e6
5 changed files with 122 additions and 0 deletions

View File

@ -0,0 +1 @@
test

View File

@ -0,0 +1 @@
test

View File

@ -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

View File

@ -0,0 +1,6 @@
- tenant:
name: openstack
source:
gerrit:
config-repos:
- project-config

43
tests/test_openstack.py Normal file
View File

@ -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")