Remove project3

This is used by two tests; move those to a new simple_layout.

Change-Id: I72c740dcc11d29736f2db74cda11e9e3092209bb
diff --git a/tests/base.py b/tests/base.py
index d8c2fd6..c915244 100755
--- a/tests/base.py
+++ b/tests/base.py
@@ -1334,11 +1334,6 @@
         self.config.set('executor', 'git_dir', self.executor_src_root)
         self.config.set('zuul', 'state_dir', self.state_root)
 
-        # For each project in config:
-        # TODOv3(jeblair): remove these and replace with new git
-        # filesystem fixtures
-        self.init_repo("org/project3")
-
         self.statsd = FakeStatsd()
         # note, use 127.0.0.1 rather than localhost to avoid getting ipv6
         # see: https://github.com/jsocol/pystatsd/issues/61
@@ -2012,8 +2007,7 @@
         untrusted-projects:
           - org/project
           - org/project1
-          - org/project2
-          - org/project3\n""" % path)
+          - org/project2\n""" % path)
 
         for repo in untrusted_projects:
             f.write("          - %s\n" % repo)
diff --git a/tests/fixtures/config/single-tenant/git/common-config/zuul.yaml b/tests/fixtures/config/single-tenant/git/common-config/zuul.yaml
index a7d99df..34bd9cd 100644
--- a/tests/fixtures/config/single-tenant/git/common-config/zuul.yaml
+++ b/tests/fixtures/config/single-tenant/git/common-config/zuul.yaml
@@ -141,28 +141,3 @@
             dependencies: project-merge
         - project1-project2-integration:
             dependencies: project-merge
-
-- project:
-    name: org/project3
-    check:
-      jobs:
-        - project-merge
-        - project-test1:
-            dependencies: project-merge
-        - project-test2:
-            dependencies: project-merge
-        - project1-project2-integration:
-            dependencies: project-merge
-    gate:
-      queue: integrated
-      jobs:
-        - project-merge
-        - project-test1:
-            dependencies: project-merge
-        - project-test2:
-            dependencies: project-merge
-        - project1-project2-integration:
-            dependencies: project-merge
-    post:
-      jobs:
-        - project-post
diff --git a/tests/fixtures/config/single-tenant/main.yaml b/tests/fixtures/config/single-tenant/main.yaml
index 919921e..83ed092 100644
--- a/tests/fixtures/config/single-tenant/main.yaml
+++ b/tests/fixtures/config/single-tenant/main.yaml
@@ -8,4 +8,3 @@
           - org/project
           - org/project1
           - org/project2
-          - org/project3
diff --git a/tests/fixtures/layouts/three-projects.yaml b/tests/fixtures/layouts/three-projects.yaml
new file mode 100644
index 0000000..5d10276
--- /dev/null
+++ b/tests/fixtures/layouts/three-projects.yaml
@@ -0,0 +1,112 @@
+- pipeline:
+    name: check
+    manager: independent
+    trigger:
+      gerrit:
+        - event: patchset-created
+    success:
+      gerrit:
+        verified: 1
+    failure:
+      gerrit:
+        verified: -1
+
+- pipeline:
+    name: gate
+    manager: dependent
+    success-message: Build succeeded (gate).
+    trigger:
+      gerrit:
+        - event: comment-added
+          approval:
+            - approved: 1
+    success:
+      gerrit:
+        verified: 2
+        submit: true
+    failure:
+      gerrit:
+        verified: -2
+    start:
+      gerrit:
+        verified: 0
+    precedence: high
+
+- job:
+    name: project-merge
+    hold-following-changes: true
+
+- job:
+    name: project-test1
+
+- job:
+    name: project-test2
+
+- job:
+    name: project1-project2-integration
+
+- project:
+    name: org/project1
+    check:
+      jobs:
+        - project-merge
+        - project-test1:
+            dependencies: project-merge
+        - project-test2:
+            dependencies: project-merge
+        - project1-project2-integration:
+            dependencies: project-merge
+    gate:
+      queue: integrated
+      jobs:
+        - project-merge
+        - project-test1:
+            dependencies: project-merge
+        - project-test2:
+            dependencies: project-merge
+        - project1-project2-integration:
+            dependencies: project-merge
+
+- project:
+    name: org/project2
+    check:
+      jobs:
+        - project-merge
+        - project-test1:
+            dependencies: project-merge
+        - project-test2:
+            dependencies: project-merge
+        - project1-project2-integration:
+            dependencies: project-merge
+    gate:
+      queue: integrated
+      jobs:
+        - project-merge
+        - project-test1:
+            dependencies: project-merge
+        - project-test2:
+            dependencies: project-merge
+        - project1-project2-integration:
+            dependencies: project-merge
+
+- project:
+    name: org/project3
+    check:
+      jobs:
+        - project-merge
+        - project-test1:
+            dependencies: project-merge
+        - project-test2:
+            dependencies: project-merge
+        - project1-project2-integration:
+            dependencies: project-merge
+    gate:
+      queue: integrated
+      jobs:
+        - project-merge
+        - project-test1:
+            dependencies: project-merge
+        - project-test2:
+            dependencies: project-merge
+        - project1-project2-integration:
+            dependencies: project-merge
diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py
index f0087a2..d3857b3 100755
--- a/tests/unit/test_scheduler.py
+++ b/tests/unit/test_scheduler.py
@@ -1369,6 +1369,7 @@
         self.assertEqual(self.getJobFromHistory('project-test2').result,
                          'FAILURE')
 
+    @simple_layout('layouts/three-projects.yaml')
     def test_dependent_behind_dequeue(self):
         # This particular test does a large amount of merges and needs a little
         # more time to complete
@@ -4335,6 +4336,7 @@
         for job in self.history:
             self.assertEqual(len(job.changes.split()), 1)
 
+    @simple_layout('layouts/three-projects.yaml')
     def test_crd_check_transitive(self):
         "Test transitive cross-repo dependencies"
         # Specifically, if A -> B -> C, and C gets a new patchset and