Accomodate for API change in the replication plugin The introduction of `ConfigResource` and `ConfigResourceOverrides`[1] required API chagnes in the replication plugin which in turn forced changes in the pull-replication to fix the compliation errors. [1] https://issues.gerritcodereview.com/issues/310510978 Bug: Issue 319053155 Change-Id: I01c398e437ffbb31105db02de05cab8188f1c9ac
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java index cbdfe1b..fdd2a0f 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
@@ -25,25 +25,19 @@ import com.google.gerrit.extensions.events.ProjectDeletedListener; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.metrics.MetricMaker; -import com.google.gerrit.server.config.SitePaths; import com.google.gerrit.server.events.EventListener; import com.google.gerrit.server.events.EventTypes; import com.google.inject.AbstractModule; import com.google.inject.Inject; -import com.google.inject.ProvisionException; import com.google.inject.Scopes; import com.google.inject.assistedinject.FactoryModuleBuilder; import com.google.inject.internal.UniqueAnnotations; import com.google.inject.name.Names; -import com.googlesource.gerrit.plugins.replication.AutoReloadConfigDecorator; import com.googlesource.gerrit.plugins.replication.AutoReloadSecureCredentialsFactoryDecorator; import com.googlesource.gerrit.plugins.replication.ConfigParser; import com.googlesource.gerrit.plugins.replication.CredentialsFactory; -import com.googlesource.gerrit.plugins.replication.FanoutReplicationConfig; -import com.googlesource.gerrit.plugins.replication.MainReplicationConfig; import com.googlesource.gerrit.plugins.replication.ObservableQueue; -import com.googlesource.gerrit.plugins.replication.ReplicationConfig; -import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigModule; import com.googlesource.gerrit.plugins.replication.StartReplicationCapability; import com.googlesource.gerrit.plugins.replication.pull.api.FetchApiCapability; import com.googlesource.gerrit.plugins.replication.pull.api.FetchJob; @@ -55,24 +49,17 @@ import com.googlesource.gerrit.plugins.replication.pull.event.EventsBrokerConsumerModule; import com.googlesource.gerrit.plugins.replication.pull.event.StreamEventModule; import com.googlesource.gerrit.plugins.replication.pull.fetch.ApplyObject; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.lib.Config; -import org.eclipse.jgit.storage.file.FileBasedConfig; -import org.eclipse.jgit.util.FS; class PullReplicationModule extends AbstractModule { - private final SitePaths site; - private final Path cfgPath; + private final MetricMaker pluginMetricMaker; + private final ReplicationConfigModule configModule; @Inject - public PullReplicationModule(SitePaths site, MetricMaker pluginMetricMaker) { - this.site = site; - cfgPath = site.etc_dir.resolve("replication.config"); + public PullReplicationModule( + ReplicationConfigModule configModule, MetricMaker pluginMetricMaker) { + this.configModule = configModule; this.pluginMetricMaker = pluginMetricMaker; } @@ -86,6 +73,7 @@ .annotatedWith(Exports.named(CALL_FETCH_ACTION)) .to(FetchApiCapability.class); + install(configModule); install(new PullReplicationGroupModule()); bind(BearerTokenProvider.class).in(Scopes.SINGLETON); bind(RevisionReader.class).in(Scopes.SINGLETON); @@ -136,19 +124,7 @@ bind(ConfigParser.class).to(SourceConfigParser.class).in(Scopes.SINGLETON); - Config replicationConfig = getReplicationConfig(); - if (replicationConfig.getBoolean("gerrit", "autoReload", false)) { - bind(ReplicationConfig.class) - .annotatedWith(MainReplicationConfig.class) - .to(getReplicationConfigClass()); - bind(ReplicationConfig.class).to(AutoReloadConfigDecorator.class).in(Scopes.SINGLETON); - bind(LifecycleListener.class) - .annotatedWith(UniqueAnnotations.create()) - .to(AutoReloadConfigDecorator.class); - } else { - bind(ReplicationConfig.class).to(getReplicationConfigClass()).in(Scopes.SINGLETON); - } - + Config replicationConfig = configModule.getReplicationConfig(); String eventBrokerTopic = replicationConfig.getString("replication", null, "eventBrokerTopic"); if (replicationConfig.getBoolean("replication", "consumeStreamEvents", false)) { install(new StreamEventModule()); @@ -162,22 +138,4 @@ EventTypes.register(FetchRefReplicationDoneEvent.TYPE, FetchRefReplicationDoneEvent.class); EventTypes.register(FetchReplicationScheduledEvent.TYPE, FetchReplicationScheduledEvent.class); } - - private FileBasedConfig getReplicationConfig() { - File replicationConfigFile = cfgPath.toFile(); - FileBasedConfig config = new FileBasedConfig(replicationConfigFile, FS.DETECTED); - try { - config.load(); - } catch (IOException | ConfigInvalidException e) { - throw new ProvisionException("Unable to load " + replicationConfigFile.getAbsolutePath(), e); - } - return config; - } - - private Class<? extends ReplicationConfig> getReplicationConfigClass() { - if (Files.exists(site.etc_dir.resolve("replication"))) { - return FanoutReplicationConfig.class; - } - return ReplicationFileBasedConfig.class; - } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java index 98e8d1d..218592b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java
@@ -14,7 +14,7 @@ package com.googlesource.gerrit.plugins.replication.pull; -import static com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig.replaceName; +import static com.googlesource.gerrit.plugins.replication.ReplicationConfigImpl.replaceName; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.SECONDS;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/FetchITBase.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/FetchITBase.java index 3429983..fc329bf 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/FetchITBase.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/FetchITBase.java
@@ -23,14 +23,18 @@ import com.google.gerrit.acceptance.testsuite.project.ProjectOperations; import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.config.FactoryModule; +import com.google.gerrit.extensions.registration.DynamicItem; import com.google.gerrit.server.config.SitePaths; import com.google.inject.Inject; import com.google.inject.Scopes; import com.google.inject.assistedinject.FactoryModuleBuilder; import com.googlesource.gerrit.plugins.replication.AutoReloadSecureCredentialsFactoryDecorator; +import com.googlesource.gerrit.plugins.replication.ConfigResource; import com.googlesource.gerrit.plugins.replication.CredentialsFactory; +import com.googlesource.gerrit.plugins.replication.FileConfigResource; import com.googlesource.gerrit.plugins.replication.ReplicationConfig; -import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigImpl; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigOverrides; import com.googlesource.gerrit.plugins.replication.pull.fetch.Fetch; import com.googlesource.gerrit.plugins.replication.pull.fetch.FetchClientImplementation; import com.googlesource.gerrit.plugins.replication.pull.fetch.FetchFactory; @@ -117,7 +121,9 @@ try { RemoteConfig remoteConfig = new RemoteConfig(cf(), "test_config"); SourceConfiguration sourceConfig = new SourceConfiguration(remoteConfig, cf()); - bind(ReplicationConfig.class).to(ReplicationFileBasedConfig.class); + DynamicItem.itemOf(binder(), ReplicationConfigOverrides.class); + bind(ConfigResource.class).to(FileConfigResource.class); + bind(ReplicationConfig.class).to(ReplicationConfigImpl.class); bind(CredentialsFactory.class) .to(AutoReloadSecureCredentialsFactoryDecorator.class) .in(Scopes.SINGLETON);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationBatchRefUpdatedIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationBatchRefUpdatedIT.java index 2e727d1..38f2b83 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationBatchRefUpdatedIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationBatchRefUpdatedIT.java
@@ -22,7 +22,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public class PullReplicationBatchRefUpdatedIT extends PullReplicationITBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigBatchRefUpdateEventIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigBatchRefUpdateEventIT.java index 7babf34..994ef36 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigBatchRefUpdateEventIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigBatchRefUpdateEventIT.java
@@ -21,7 +21,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public class PullReplicationFanoutConfigBatchRefUpdateEventIT extends PullReplicationFanoutConfigBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigRefUpdatedEventIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigRefUpdatedEventIT.java index 16b0b02..c5273ee 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigRefUpdatedEventIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationFanoutConfigRefUpdatedEventIT.java
@@ -21,7 +21,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public class PullReplicationFanoutConfigRefUpdatedEventIT extends PullReplicationFanoutConfigBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java index 130bb41..c791770 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationITAbstract.java
@@ -34,13 +34,14 @@ import com.google.gerrit.extensions.events.ProjectDeletedListener; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.restapi.RestApiException; -import com.google.gerrit.server.config.SitePaths; import com.google.gerrit.server.events.Event; import com.google.gerrit.server.events.EventListener; import com.google.gerrit.server.events.ProjectEvent; import com.google.inject.Inject; import com.google.inject.Singleton; +import com.googlesource.gerrit.plugins.replication.ApiModule; import com.googlesource.gerrit.plugins.replication.AutoReloadConfigDecorator; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigModule; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; @@ -70,13 +71,15 @@ public static class PullReplicationTestModule extends PullReplicationModule { @Inject - public PullReplicationTestModule(SitePaths site, InMemoryMetricMaker memMetric) { - super(site, memMetric); + public PullReplicationTestModule( + ReplicationConfigModule configModule, InMemoryMetricMaker memMetric) { + super(configModule, memMetric); } @Override protected void configure() { super.configure(); + install(new ApiModule()); DynamicSet.bind(binder(), EventListener.class) .to(BufferedEventListener.class)
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationRefUpdatedIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationRefUpdatedIT.java index 6e7c369..c6f4b8d 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationRefUpdatedIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationRefUpdatedIT.java
@@ -22,7 +22,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public class PullReplicationRefUpdatedIT extends PullReplicationITBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBase.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBase.java index 2e95ef1..d0c25e4 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBase.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBase.java
@@ -35,7 +35,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public abstract class PullReplicationWithGitHttpTransportProtocolBase extends PullReplicationSetupBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBatchRefUpdatedIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBatchRefUpdatedIT.java index 8c8ca37..2d36f1a 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBatchRefUpdatedIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolBatchRefUpdatedIT.java
@@ -22,7 +22,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public class PullReplicationWithGitHttpTransportProtocolBatchRefUpdatedIT extends PullReplicationWithGitHttpTransportProtocolBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolRefUpdatedIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolRefUpdatedIT.java index 5f3c7b6..8c93bc4 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolRefUpdatedIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationWithGitHttpTransportProtocolRefUpdatedIT.java
@@ -22,7 +22,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public class PullReplicationWithGitHttpTransportProtocolRefUpdatedIT extends PullReplicationWithGitHttpTransportProtocolBase {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java index e3eb65b..84fee55 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java
@@ -47,8 +47,10 @@ import com.google.gerrit.server.events.RefUpdatedEvent; import com.google.gerrit.server.git.WorkQueue; import com.google.inject.Provider; +import com.googlesource.gerrit.plugins.replication.FileConfigResource; +import com.googlesource.gerrit.plugins.replication.MergedConfigResource; import com.googlesource.gerrit.plugins.replication.ReplicationConfig; -import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigImpl; import com.googlesource.gerrit.plugins.replication.pull.api.data.BatchApplyObjectData; import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionData; import com.googlesource.gerrit.plugins.replication.pull.client.FetchApiClient; @@ -127,7 +129,11 @@ Path sitePath = createTempPath("site"); sitePaths = new SitePaths(sitePath); Path pluginDataPath = createTempPath("data"); - ReplicationConfig replicationConfig = new ReplicationFileBasedConfig(sitePaths, pluginDataPath); + ReplicationConfig replicationConfig = + new ReplicationConfigImpl( + MergedConfigResource.withBaseOnly(new FileConfigResource(sitePaths)), + sitePaths, + pluginDataPath); refsFilter = new ExcludedRefsFilter(replicationConfig); when(source.getConnectionTimeout()).thenReturn(CONNECTION_TIMEOUT); when(source.wouldFetchProject(any())).thenReturn(true); @@ -507,7 +513,11 @@ new FileBasedConfig(sitePaths.etc_dir.resolve("replication.config").toFile(), FS.DETECTED); fileConfig.setString("replication", null, "excludeRefs", "refs/multi-site/version"); fileConfig.save(); - ReplicationConfig replicationConfig = new ReplicationFileBasedConfig(sitePaths, pluginDataPath); + ReplicationConfig replicationConfig = + new ReplicationConfigImpl( + MergedConfigResource.withBaseOnly(new FileConfigResource(sitePaths)), + sitePaths, + pluginDataPath); refsFilter = new ExcludedRefsFilter(replicationConfig); objectUnderTest =
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java index 8e7dc35..f1fbfe2 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java
@@ -35,8 +35,11 @@ import com.google.gerrit.extensions.config.FactoryModule; import com.google.gerrit.server.Sequence; import com.google.inject.Scopes; +import com.googlesource.gerrit.plugins.replication.ApiModule; +import com.googlesource.gerrit.plugins.replication.ConfigResource; +import com.googlesource.gerrit.plugins.replication.FileConfigResource; import com.googlesource.gerrit.plugins.replication.ReplicationConfig; -import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigImpl; import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionData; import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionObjectData; import com.googlesource.gerrit.plugins.replication.pull.fetch.ApplyObject; @@ -60,12 +63,12 @@ public class RevisionReaderIT extends LightweightPluginDaemonTest { RevisionReader objectUnderTest; - ReplicationFileBasedConfig replicationConfig; + ReplicationConfigImpl replicationConfig; @Before public void setup() { objectUnderTest = plugin.getSysInjector().getInstance(RevisionReader.class); - replicationConfig = plugin.getSysInjector().getInstance(ReplicationFileBasedConfig.class); + replicationConfig = plugin.getSysInjector().getInstance(ReplicationConfigImpl.class); } @Test @@ -305,7 +308,9 @@ private static class TestModule extends FactoryModule { @Override protected void configure() { - bind(ReplicationConfig.class).to(ReplicationFileBasedConfig.class); + install(new ApiModule()); + bind(ConfigResource.class).to(FileConfigResource.class); + bind(ReplicationConfig.class).to(ReplicationConfigImpl.class); bind(RevisionReader.class).in(Scopes.SINGLETON); bind(ApplyObject.class); }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/TestPullReplicationModule.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/TestPullReplicationModule.java new file mode 100644 index 0000000..a20f617 --- /dev/null +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/TestPullReplicationModule.java
@@ -0,0 +1,21 @@ +package com.googlesource.gerrit.plugins.replication.pull; + +import com.google.inject.AbstractModule; +import com.google.inject.Inject; +import com.googlesource.gerrit.plugins.replication.ApiModule; + +public class TestPullReplicationModule extends AbstractModule { + + private final PullReplicationModule pullReplicationModule; + + @Inject + TestPullReplicationModule(PullReplicationModule pullReplicationModule) { + this.pullReplicationModule = pullReplicationModule; + } + + @Override + protected void configure() { + install(new ApiModule()); + install(pullReplicationModule); + } +}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/ActionITBase.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/ActionITBase.java index f8110d1..6c83d93 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/ActionITBase.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/ActionITBase.java
@@ -62,7 +62,7 @@ @UseLocalDisk @TestPlugin( name = "pull-replication", - sysModule = "com.googlesource.gerrit.plugins.replication.pull.PullReplicationModule", + sysModule = "com.googlesource.gerrit.plugins.replication.pull.TestPullReplicationModule", httpModule = "com.googlesource.gerrit.plugins.replication.pull.api.HttpModule") public abstract class ActionITBase extends LightweightPluginDaemonTest { protected static final Optional<String> ALL_PROJECTS = Optional.empty();
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientBase.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientBase.java index b061de0..087920b 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientBase.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientBase.java
@@ -28,7 +28,7 @@ import com.google.gerrit.entities.Project; import com.google.gerrit.entities.RefNames; import com.googlesource.gerrit.plugins.replication.CredentialsFactory; -import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig; +import com.googlesource.gerrit.plugins.replication.ReplicationConfig; import com.googlesource.gerrit.plugins.replication.pull.BearerTokenProvider; import com.googlesource.gerrit.plugins.replication.pull.Source; import com.googlesource.gerrit.plugins.replication.pull.api.data.BatchApplyObjectData; @@ -67,7 +67,7 @@ @Mock HttpClient httpClient; @Mock SourceHttpClient.Factory httpClientFactory; @Mock FileBasedConfig config; - @Mock ReplicationFileBasedConfig replicationConfig; + @Mock ReplicationConfig replicationConfig; @Mock Source source; @Mock BearerTokenProvider bearerTokenProvider; @Captor ArgumentCaptor<HttpPost> httpPostCaptor;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java index b562933..0a01e21 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java
@@ -36,10 +36,14 @@ import com.google.gerrit.extensions.api.changes.ReviewInput.CommentInput; import com.google.gerrit.extensions.client.Comment; import com.google.gerrit.extensions.config.FactoryModule; +import com.google.gerrit.extensions.registration.DynamicItem; import com.google.inject.Inject; import com.google.inject.Scopes; +import com.googlesource.gerrit.plugins.replication.ConfigResource; +import com.googlesource.gerrit.plugins.replication.FileConfigResource; import com.googlesource.gerrit.plugins.replication.ReplicationConfig; -import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigImpl; +import com.googlesource.gerrit.plugins.replication.ReplicationConfigOverrides; import com.googlesource.gerrit.plugins.replication.pull.RevisionReader; import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionData; import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionObjectData; @@ -256,7 +260,9 @@ private static class TestModule extends FactoryModule { @Override protected void configure() { - bind(ReplicationConfig.class).to(ReplicationFileBasedConfig.class); + DynamicItem.itemOf(binder(), ReplicationConfigOverrides.class); + bind(ConfigResource.class).to(FileConfigResource.class); + bind(ReplicationConfig.class).to(ReplicationConfigImpl.class); bind(RevisionReader.class).in(Scopes.SINGLETON); bind(ApplyObject.class); }