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) {