summaryrefslogtreecommitdiff
path: root/tests/unit/test_v3.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/test_v3.py')
-rw-r--r--tests/unit/test_v3.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/unit/test_v3.py b/tests/unit/test_v3.py
index 004ede862..22d9518a9 100644
--- a/tests/unit/test_v3.py
+++ b/tests/unit/test_v3.py
@@ -3367,6 +3367,42 @@ class TestExtraConfigInDependent(ZuulTestCase):
changes='2,1 1,1'),
], ordered=False)
+ def test_extra_config_in_bundle_change(self):
+ # Test that jobs defined in a extra-config-paths in a repo should be
+ # loaded in a bundle with changes from different repos.
+
+ # Add an empty zuul.yaml here so we are triggering dynamic layout load
+ A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A',
+ files={'zuul.yaml': ''})
+ B = self.fake_gerrit.addFakeChange('org/project2', 'master', 'B',
+ files={'zuul.yaml': ''})
+ C = self.fake_gerrit.addFakeChange('org/project3', 'master', 'C',
+ files={'zuul.yaml': ''})
+ # A B form a bundle, and A depends on C
+ A.data['commitMessage'] = '%s\n\nDepends-On: %s\nDepends-On: %s\n' % (
+ A.subject, B.data['url'], C.data['url'])
+ B.data['commitMessage'] = '%s\n\nDepends-On: %s\n' % (
+ B.subject, A.data['url'])
+
+ self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
+ self.fake_gerrit.addEvent(B.getPatchsetCreatedEvent(1))
+ self.fake_gerrit.addEvent(C.getPatchsetCreatedEvent(1))
+ self.waitUntilSettled()
+
+ # Jobs in both changes should be success
+ self.assertHistory([
+ dict(name='project2-private-extra-file', result='SUCCESS',
+ changes='3,1 1,1 2,1'),
+ dict(name='project2-private-extra-dir', result='SUCCESS',
+ changes='3,1 1,1 2,1'),
+ dict(name='project-test1', result='SUCCESS',
+ changes='3,1 2,1 1,1'),
+ dict(name='project3-private-extra-file', result='SUCCESS',
+ changes='3,1'),
+ dict(name='project3-private-extra-dir', result='SUCCESS',
+ changes='3,1'),
+ ], ordered=False)
+
class TestGlobalRepoState(AnsibleZuulTestCase):
config_file = 'zuul-connections-gerrit-and-github.conf'