blob: f8d1bf5337797e29ee64a4f51df97fc5b1723297 [file] [log] [blame]
Joshua Hesketh352264b2015-08-11 23:42:08 +10001# Copyright 2014 Rackspace Australia
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
Joshua Heskethacccffc2015-03-31 23:38:17 +110015from tests.base import ZuulTestCase
16
Joshua Hesketh352264b2015-08-11 23:42:08 +100017
Joshua Heskethacccffc2015-03-31 23:38:17 +110018class TestConnections(ZuulTestCase):
Morgan Fainberg4245a422016-08-05 16:20:12 -070019 config_file = 'zuul-connections-same-gerrit.conf'
20 tenant_config_file = 'config/zuul-connections-same-gerrit/main.yaml'
Joshua Heskethacccffc2015-03-31 23:38:17 +110021
22 def test_multiple_connections(self):
23 "Test multiple connections to the one gerrit"
24
25 A = self.fake_review_gerrit.addFakeChange('org/project', 'master', 'A')
James E. Blair7fc8daa2016-08-08 15:37:15 -070026 self.addEvent('review_gerrit', A.getPatchsetCreatedEvent(1))
Joshua Heskethacccffc2015-03-31 23:38:17 +110027
28 self.waitUntilSettled()
29
30 self.assertEqual(len(A.patchsets[-1]['approvals']), 1)
James E. Blair8b5408c2016-08-08 15:37:46 -070031 self.assertEqual(A.patchsets[-1]['approvals'][0]['type'], 'verified')
Joshua Heskethacccffc2015-03-31 23:38:17 +110032 self.assertEqual(A.patchsets[-1]['approvals'][0]['value'], '1')
33 self.assertEqual(A.patchsets[-1]['approvals'][0]['by']['username'],
34 'jenkins')
35
36 B = self.fake_review_gerrit.addFakeChange('org/project', 'master', 'B')
James E. Blaira5dba232016-08-08 15:53:24 -070037 self.launch_server.failJob('project-test2', B)
James E. Blair7fc8daa2016-08-08 15:37:15 -070038 self.addEvent('review_gerrit', B.getPatchsetCreatedEvent(1))
Joshua Heskethacccffc2015-03-31 23:38:17 +110039
40 self.waitUntilSettled()
41
42 self.assertEqual(len(B.patchsets[-1]['approvals']), 1)
James E. Blair8b5408c2016-08-08 15:37:46 -070043 self.assertEqual(B.patchsets[-1]['approvals'][0]['type'], 'verified')
Joshua Heskethacccffc2015-03-31 23:38:17 +110044 self.assertEqual(B.patchsets[-1]['approvals'][0]['value'], '-1')
45 self.assertEqual(B.patchsets[-1]['approvals'][0]['by']['username'],
46 'civoter')
47
48
49class TestMultipleGerrits(ZuulTestCase):
James E. Blair509cada2015-12-08 16:31:16 -080050 def setUp(self):
51 self.skip("Disabled for early v3 development")
52
Joshua Heskethacccffc2015-03-31 23:38:17 +110053 def setup_config(self,
54 config_file='zuul-connections-multiple-gerrits.conf'):
55 super(TestMultipleGerrits, self).setup_config(config_file)
James E. Blairf84026c2015-12-08 16:11:46 -080056 self.self.updateConfigLayout(
Joshua Heskethacccffc2015-03-31 23:38:17 +110057 'layout-connections-multiple-gerrits.yaml')
58
59 def test_multiple_project_separate_gerrits(self):
60 self.worker.hold_jobs_in_build = True
61
62 A = self.fake_another_gerrit.addFakeChange(
63 'org/project', 'master', 'A')
64 self.fake_another_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
65
66 self.waitUntilSettled()
67
68 self.assertEqual(1, len(self.builds))
69 self.assertEqual('project-another-gerrit', self.builds[0].name)
70 self.assertTrue(self.job_has_changes(self.builds[0], A))
71
72 self.worker.hold_jobs_in_build = False
73 self.worker.release()
74 self.waitUntilSettled()