ReplicationFanoutIT: Share setReplicationDestination

Refactor setReplicationDestination to share the per-remote-file and
single replication config file implementations more.

Change-Id: Ic0a98ccf0f7703f14c01856a42b8a70e3d20aa8b
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java
index 063d4b4..f702df3 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java
@@ -102,25 +102,47 @@
         remoteName, Arrays.asList(replicaSuffix), project, replicationDelay, mirror);
   }
 
-  protected FileBasedConfig setReplicationDestination(
+  protected void setReplicationDestination(
       String remoteName,
       List<String> replicaSuffixes,
       Optional<String> project,
       int replicationDelay,
       boolean mirror)
       throws IOException {
+    setReplicationDestination(
+        config, remoteName, replicaSuffixes, project, replicationDelay, mirror);
+    config.setBoolean("gerrit", null, "autoReload", true);
+    config.save();
+  }
+
+  protected void setReplicationDestination(
+      FileBasedConfig config,
+      List<String> replicaSuffixes,
+      Optional<String> project,
+      int replicationDelay)
+      throws IOException {
+    setReplicationDestination(config, null, replicaSuffixes, project, replicationDelay, false);
+  }
+
+  protected void setReplicationDestination(
+      FileBasedConfig remoteConfig,
+      String remoteName,
+      List<String> replicaSuffixes,
+      Optional<String> project,
+      int replicationDelay,
+      boolean mirror)
+      throws IOException {
+
     List<String> replicaUrls =
         replicaSuffixes.stream()
             .map(suffix -> gitPath.resolve("${name}" + suffix + ".git").toString())
             .collect(toList());
-    config.setStringList("remote", remoteName, "url", replicaUrls);
-    config.setInt("remote", remoteName, "replicationDelay", replicationDelay);
-    config.setInt("remote", remoteName, "replicationRetry", TEST_REPLICATION_RETRY_MINUTES);
-    config.setBoolean("remote", remoteName, "mirror", mirror);
-    project.ifPresent(prj -> config.setString("remote", remoteName, "projects", prj));
-    config.setBoolean("gerrit", null, "autoReload", true);
-    config.save();
-    return config;
+    remoteConfig.setStringList("remote", remoteName, "url", replicaUrls);
+    remoteConfig.setInt("remote", remoteName, "replicationDelay", replicationDelay);
+    remoteConfig.setInt("remote", remoteName, "replicationRetry", TEST_REPLICATION_RETRY_MINUTES);
+    remoteConfig.setBoolean("remote", remoteName, "mirror", mirror);
+    project.ifPresent(prj -> remoteConfig.setString("remote", remoteName, "projects", prj));
+    remoteConfig.save();
   }
 
   protected Project.NameKey createTestProject(String name) throws Exception {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationFanoutIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationFanoutIT.java
index 8add071..3ebef54 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationFanoutIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationFanoutIT.java
@@ -170,13 +170,13 @@
   }
 
   private void setReplicationDestinationRemoteConfig(
-      String remoteName, String replicaSuffix, Optional<String> project,
-      int replicationDelay) throws IOException {
+      String remoteName, String replicaSuffix, Optional<String> project, int replicationDelay)
+      throws IOException {
     setReplicationDestinationRemoteConfig(
         remoteName, Arrays.asList(replicaSuffix), project, replicationDelay);
   }
 
-  private FileBasedConfig setReplicationDestinationRemoteConfig(
+  private void setReplicationDestinationRemoteConfig(
       String remoteName,
       List<String> replicaSuffixes,
       Optional<String> allProjects,
@@ -188,25 +188,6 @@
             FS.DETECTED);
 
     setReplicationDestination(remoteConfig, replicaSuffixes, allProjects, replicationDelay);
-    return remoteConfig;
-  }
-
-  private void setReplicationDestination(
-      FileBasedConfig config,
-      List<String> replicaSuffixes,
-      Optional<String> project,
-      int replicationDelay)
-      throws IOException {
-
-    List<String> replicaUrls =
-        replicaSuffixes.stream()
-            .map(suffix -> gitPath.resolve("${name}" + suffix + ".git").toString())
-            .collect(toList());
-    config.setStringList("remote", null, "url", replicaUrls);
-    config.setInt("remote", null, "replicationDelay", replicationDelay);
-    project.ifPresent(prj -> config.setString("remote", null, "projects", prj));
-
-    config.save();
   }
 
   private List<ReplicateRefUpdate> listWaitingTasks(String refRegex) {