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 <pabelanger@redhat.com>
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 0000000..9daeafb
--- /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 fb35d6c..0b0808b 100755
--- a/tests/test_scheduler.py
+++ b/tests/test_scheduler.py
@@ -4356,7 +4356,6 @@
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 acd7d41..ddb0dde 100644
--- a/zuul/model.py
+++ b/zuul/model.py
@@ -1771,11 +1771,12 @@
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)