Do not call merger:cat when all config items are excluded
This patch aims to improve zuul startup by removing
call to merger:cat on projects that exclude all configuration
items (in the tenant configuration).
Change-Id: I3a48caa3ce78ff45ed0e12c3386f80357e9bab06
diff --git a/tests/unit/test_configloader.py b/tests/unit/test_configloader.py
index f7d580c..49220f2 100644
--- a/tests/unit/test_configloader.py
+++ b/tests/unit/test_configloader.py
@@ -213,6 +213,33 @@
project2_config.pipelines['check'].job_list.jobs)
+class TestTenantGroups4(TenantParserTestCase):
+ tenant_config_file = 'config/tenant-parser/groups4.yaml'
+
+ def test_tenant_groups(self):
+ tenant = self.sched.abide.tenants.get('tenant-one')
+ self.assertEqual(['common-config'],
+ [x.name for x in tenant.config_projects])
+ self.assertEqual(['org/project1', 'org/project2'],
+ [x.name for x in tenant.untrusted_projects])
+ project = tenant.config_projects[0]
+ tpc = tenant.project_configs[project.canonical_name]
+ self.assertEqual(self.CONFIG_SET, tpc.load_classes)
+ project = tenant.untrusted_projects[0]
+ tpc = tenant.project_configs[project.canonical_name]
+ self.assertEqual(set([]),
+ tpc.load_classes)
+ project = tenant.untrusted_projects[1]
+ tpc = tenant.project_configs[project.canonical_name]
+ self.assertEqual(set([]),
+ tpc.load_classes)
+ # Check that only one merger:cat job was requested
+ # org/project1 and org/project2 have an empty load_classes
+ cat_jobs = [job for job in self.gearman_server.jobs_history
+ if job.name == b'merger:cat']
+ self.assertEqual(1, len(cat_jobs))
+
+
class TestTenantUnprotectedBranches(TenantParserTestCase):
tenant_config_file = 'config/tenant-parser/unprotected-branches.yaml'