From 160cb8e41769ce5da77c9c55a8d035c528baef88 Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Fri, 11 Nov 2016 19:04:24 -0500 Subject: [PATCH] Re-enable test_crd_check_unknown test Since it is possible for createJobTree() to have an unknown project, we need to properly hand that for project_configs(). Change-Id: I29f10110027c24e9a47a371a3b608262137d5b60 Signed-off-by: Paul Belanger --- tests/fixtures/config/single-tenant/git/org_unknown/README | 1 + tests/test_scheduler.py | 1 - zuul/model.py | 5 +++-- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 tests/fixtures/config/single-tenant/git/org_unknown/README diff --git a/tests/fixtures/config/single-tenant/git/org_unknown/README b/tests/fixtures/config/single-tenant/git/org_unknown/README new file mode 100644 index 0000000000..9daeafb986 --- /dev/null +++ b/tests/fixtures/config/single-tenant/git/org_unknown/README @@ -0,0 +1 @@ +test diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py index fb35d6c063..0b0808bebc 100755 --- a/tests/test_scheduler.py +++ b/tests/test_scheduler.py @@ -4356,7 +4356,6 @@ For CI problems and help debugging, contact ci@example.org""" self.waitUntilSettled() self.assertEqual(self.history[-1].changes, '3,2 2,1 1,2') - @skip("Disabled for early v3 development") def test_crd_check_unknown(self): "Test unknown projects in independent pipeline" self.init_repo("org/unknown") diff --git a/zuul/model.py b/zuul/model.py index acd7d41c14..ddb0dde158 100644 --- a/zuul/model.py +++ b/zuul/model.py @@ -1771,11 +1771,12 @@ class Layout(object): self._createJobTree(change, tree.job_trees, frozen_tree) def createJobTree(self, item): - project_config = self.project_configs[item.change.project.name] + project_config = self.project_configs.get( + item.change.project.name, None) ret = JobTree(None) # NOTE(pabelanger): It is possible for a foreign project not to have a # configured pipeline, if so return an empty JobTree. - if item.pipeline.name in project_config.pipelines: + if project_config and item.pipeline.name in project_config.pipelines: project_tree = \ project_config.pipelines[item.pipeline.name].job_tree self._createJobTree(item.change, project_tree.job_trees, ret)