Fix FanoutConfigurationResource update API When updating the FanoutConfigurationResource, the remote subsection needs to be removed as the subsection name is part of the config filename. Bug: Issue 351843807 Change-Id: Ib434a434a82de7e237387c7d7df8eb0e78cfa5a6
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResource.java b/src/main/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResource.java index 1ecf242..c634cce 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResource.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResource.java
@@ -101,7 +101,7 @@ Set<String> options = updates.getNames("remote", remote); for (String option : options) { List<String> values = List.of(updates.getStringList("remote", remote, option)); - remoteConfig.setStringList("remote", remote, option, values); + remoteConfig.setStringList("remote", null, option, values); config.setStringList("remote", remote, option, values); } remoteConfig.save();
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java index c91ac14..a3d811f 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java
@@ -324,7 +324,7 @@ assertThat(objectUnderTest.getConfig().getString("remote", remoteName1, "url")) .isEqualTo(remoteUrl1); Config actual = loadRemoteConfig(remoteName1); - assertThat(actual.getString("remote", remoteName1, "url")).isEqualTo(remoteUrl1); + assertThat(actual.getString("remote", null, "url")).isEqualTo(remoteUrl1); } @Test @@ -341,7 +341,7 @@ assertThat(objectUnderTest.getConfig().getString("remote", remoteName1, "url")) .isEqualTo(remoteUrl2); Config actual = loadRemoteConfig(remoteName1); - assertThat(actual.getString("remote", remoteName1, "url")).isEqualTo(remoteUrl2); + assertThat(actual.getString("remote", null, "url")).isEqualTo(remoteUrl2); } protected FileBasedConfig newRemoteConfig(String configFileName) {