Extract duplicate code

Some code was duplicated to many tests functions. This change put that
code into the setup function.

Change-Id: I7aadd87c6e8c8180b62df1f06e3b3fbf31983f50
diff --git a/javatests/com/googlesource/gerrit/plugins/supermanifest/RepoSuperManifestIT.java b/javatests/com/googlesource/gerrit/plugins/supermanifest/RepoSuperManifestIT.java
index d340093..922d04d 100644
--- a/javatests/com/googlesource/gerrit/plugins/supermanifest/RepoSuperManifestIT.java
+++ b/javatests/com/googlesource/gerrit/plugins/supermanifest/RepoSuperManifestIT.java
@@ -46,6 +46,9 @@
 public class RepoSuperManifestIT extends LightweightPluginDaemonTest {
   Project.NameKey[] testRepoKeys;
   String[] testRepoCommits;
+  Project.NameKey manifestKey;
+  TestRepository<InMemoryRepository> manifestRepo;
+  Project.NameKey superKey;
 
   @Inject private ProjectOperations projectOperations;
 
@@ -68,6 +71,13 @@
       r.assertOkStatus();
       testRepoCommits[i] = r.getCommit().getName();
     }
+
+    // Make sure the manifest exists so the configuration loads successfully.
+    manifestKey = projectOperations.newProject().name(name("manifest")).create();
+    manifestRepo = cloneProject(manifestKey, admin);
+
+    superKey = projectOperations.newProject().name(name("superproject")).create();
+    cloneProject(superKey, admin);
   }
 
   void pushConfig(String config) throws Exception {
@@ -86,13 +96,6 @@
   public void basicFunctionalityWorks() throws Exception {
     setupTestRepos("project");
 
-    // Make sure the manifest exists so the configuration loads successfully.
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
-
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     pushConfig(
         "[superproject \""
             + superKey.get()
@@ -181,13 +184,6 @@
   public void basicFunctionalityWorksWithCopyFileWithBareSha1() throws Exception {
     setupTestRepos("project");
 
-    // Make sure the manifest exists so the configuration loads successfully.
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
-
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     pushConfig(
         "[superproject \""
             + superKey.get()
@@ -232,13 +228,6 @@
   public void httpEndpoint() throws Exception {
     setupTestRepos("project");
 
-    // Make sure the manifest exists so the configuration loads successfully.
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
-
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     String remoteXml = "  <remote name=\"origin\" fetch=\"" + canonicalWebUrl.get() + "\" />\n";
     String defaultXml = "  <default remote=\"origin\" revision=\"refs/heads/master\" />\n";
     String xml =
@@ -281,13 +270,6 @@
   public void rawSha1Ref() throws Exception {
     setupTestRepos("project");
 
-    // Make sure the manifest exists so the configuration loads successfully.
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
-
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     String remoteXml = "  <remote name=\"origin\" fetch=\"" + canonicalWebUrl.get() + "\" />\n";
     String defaultXml = "  <default remote=\"origin\" revision=\"refs/heads/master\" />\n";
     String xml =
@@ -342,13 +324,6 @@
   public void testIgnoreRemoteFailure() throws Exception {
     setupTestRepos("project");
 
-    // Make sure the manifest exists so the configuration loads successfully.
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
-
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     String remoteXml = "  <remote name=\"origin\" fetch=\"" + canonicalWebUrl.get() + "\" />\n";
     String defaultXml = "  <default remote=\"origin\" revision=\"refs/heads/master\" />\n";
     String xml =
@@ -428,13 +403,6 @@
   public void wildcardDestBranchWorks() throws Exception {
     setupTestRepos("project");
 
-    // Make sure the manifest exists so the configuration loads successfully.
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
-
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     pushConfig(
         "[superproject \""
             + superKey.get()
@@ -504,8 +472,6 @@
             + "\" path=\"project1\" />\n"
             + "</manifest>\n";
 
-    Project.NameKey manifestKey = projectOperations.newProject().name(name("manifest")).create();
-    TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
     pushFactory
         .create(admin.newIdent(), manifestRepo, "Subject", "default.xml", xml)
         .to("refs/heads/master")
@@ -522,9 +488,6 @@
         .to("refs/heads/master")
         .assertOkStatus();
 
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
-    cloneProject(superKey, admin);
-
     pushConfig(
         "[superproject \""
             + superKey.get()
@@ -560,7 +523,6 @@
         projectOperations.newProject().name(name(realPrefix + "/manifest")).create();
     TestRepository<InMemoryRepository> manifestRepo = cloneProject(manifestKey, admin);
 
-    Project.NameKey superKey = projectOperations.newProject().name(name("superproject")).create();
     pushConfig(
         "[superproject \""
             + superKey.get()