Merge branch 'stable-3.0'
* stable-3.0:
Don't import Id/Key/NameKey directly
KafkaEventSubscriber: Remove unused imports
Format java files with google-java-format
Change-Id: I49c339775a9a31be7c25e14cd04a559d00d367c0
diff --git a/setup_local_env/setup.sh b/setup_local_env/setup.sh
index ff75d7e..2d051a5 100755
--- a/setup_local_env/setup.sh
+++ b/setup_local_env/setup.sh
@@ -317,11 +317,11 @@
cp -f $MULTISITE_LIB_LOCATION $DEPLOYMENT_LOCATION/multi-site.jar >/dev/null 2>&1 || { echo >&2 "$MULTISITE_LIB_LOCATION: Not able to copy the file. Aborting"; exit 1; }
fi
if [ $DOWNLOAD_WEBSESSION_FLATFILE = "true" ];then
- echo "Downloading websession-flatfile plugin stable 3.0"
- wget https://gerrit-ci.gerritforge.com/view/Plugins-stable-3.0/job/plugin-websession-flatfile-bazel-master-stable-3.0/lastSuccessfulBuild/artifact/bazel-bin/plugins/websession-flatfile/websession-flatfile.jar \
+ echo "Downloading websession-flatfile plugin master"
+ wget https://gerrit-ci.gerritforge.com/view/Plugins-master/job/plugin-websession-flatfile-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/websession-flatfile/websession-flatfile.jar \
-O $DEPLOYMENT_LOCATION/websession-flatfile.jar || { echo >&2 "Cannot download websession-flatfile plugin: Check internet connection. Abort\
ing"; exit 1; }
- wget https://gerrit-ci.gerritforge.com/view/Plugins-stable-3.0/job/plugin-healthcheck-bazel-stable-3.0/lastSuccessfulBuild/artifact/bazel-bin/plugins/healthcheck/healthcheck.jar \
+ wget https://gerrit-ci.gerritforge.com/view/Plugins-master/job/plugin-healthcheck-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/healthcheck/healthcheck.jar \
-O $DEPLOYMENT_LOCATION/healthcheck.jar || { echo >&2 "Cannot download healthcheck plugin: Check internet connection. Abort\
ing"; exit 1; }
else
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Log4jSharedRefLogger.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Log4jSharedRefLogger.java
index b5d20e0..ccb69ef 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Log4jSharedRefLogger.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Log4jSharedRefLogger.java
@@ -60,7 +60,7 @@
public void logRefUpdate(String project, Ref currRef, ObjectId newRefValue) {
if (!ObjectId.zeroId().equals(newRefValue)) {
try (Repository repository =
- gitRepositoryManager.openRepository(new Project.NameKey(project));
+ gitRepositoryManager.openRepository(Project.nameKey(project));
RevWalk walk = new RevWalk(repository)) {
GitPerson committer = null;
String commitMessage = null;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
index 9a8c4c4..e31843c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
@@ -14,25 +14,25 @@
package com.googlesource.gerrit.plugins.multisite;
+import com.google.gerrit.extensions.events.ProjectDeletedListener;
import com.gerritforge.gerrit.globalrefdb.GlobalRefDatabase;
import com.google.gerrit.extensions.registration.DynamicItem;
+import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.lifecycle.LifecycleModule;
import com.google.gerrit.server.config.SitePaths;
-import com.google.gson.Gson;
import com.google.inject.CreationException;
import com.google.inject.Inject;
import com.google.inject.Provides;
import com.google.inject.Scopes;
import com.google.inject.Singleton;
import com.google.inject.spi.Message;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerModule;
-import com.googlesource.gerrit.plugins.multisite.broker.GsonProvider;
import com.googlesource.gerrit.plugins.multisite.cache.CacheModule;
import com.googlesource.gerrit.plugins.multisite.event.EventModule;
import com.googlesource.gerrit.plugins.multisite.forwarder.ForwarderModule;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.RouterModule;
import com.googlesource.gerrit.plugins.multisite.index.IndexModule;
+import com.googlesource.gerrit.plugins.multisite.validation.ProjectDeletedSharedDbCleanup;
import com.googlesource.gerrit.plugins.multisite.validation.dfsrefdb.NoopSharedRefDatabase;
import java.io.BufferedReader;
import java.io.BufferedWriter;
@@ -89,10 +89,10 @@
install(new RouterModule());
- bind(Gson.class)
- .annotatedWith(BrokerGson.class)
- .toProvider(GsonProvider.class)
- .in(Singleton.class);
+ if (config.getSharedRefDb().isEnabled()) {
+ DynamicSet.bind(binder(), ProjectDeletedListener.class)
+ .to(ProjectDeletedSharedDbCleanup.class);
+ }
}
@Provides
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/MultiSiteMetrics.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/MultiSiteMetrics.java
new file mode 100644
index 0000000..fbe1152
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/MultiSiteMetrics.java
@@ -0,0 +1,35 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.plugins.multisite;
+
+import com.google.gerrit.metrics.Description;
+import com.google.gerrit.metrics.Field;
+import com.google.gerrit.server.logging.PluginMetadata;
+
+public abstract class MultiSiteMetrics {
+
+ public Field<String> stringField(String metadataKey, String description) {
+ return Field.ofString(
+ metadataKey,
+ (metadataBuilder, fieldValue) ->
+ metadataBuilder.addPluginMetadata(PluginMetadata.create(metadataKey, fieldValue)))
+ .description(description)
+ .build();
+ }
+
+ public Description rateDescription(String unit, String description) {
+ return new Description(description).setRate().setUnit(unit);
+ }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerGson.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerGson.java
deleted file mode 100644
index 219aa96..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerGson.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (C) 2019 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.googlesource.gerrit.plugins.multisite.broker;
-
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import com.google.inject.BindingAnnotation;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-@Retention(RUNTIME)
-@Target(PARAMETER)
-@BindingAnnotation
-public @interface BrokerGson {}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerMetrics.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerMetrics.java
index f6be65a..1d9f46d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerMetrics.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/BrokerMetrics.java
@@ -15,14 +15,13 @@
package com.googlesource.gerrit.plugins.multisite.broker;
import com.google.gerrit.metrics.Counter1;
-import com.google.gerrit.metrics.Description;
-import com.google.gerrit.metrics.Field;
import com.google.gerrit.metrics.MetricMaker;
import com.google.inject.Inject;
import com.google.inject.Singleton;
+import com.googlesource.gerrit.plugins.multisite.MultiSiteMetrics;
@Singleton
-public class BrokerMetrics {
+public class BrokerMetrics extends MultiSiteMetrics {
private static final String PUBLISHER_SUCCESS_COUNTER = "broker_msg_publisher_counter";
private static final String PUBLISHER_FAILURE_COUNTER = "broker_msg_publisher_failure_counter";
@@ -35,17 +34,15 @@
this.brokerPublisherSuccessCounter =
metricMaker.newCounter(
"multi_site/broker/broker_message_publisher_counter",
- new Description("Number of messages published by the broker publisher")
- .setRate()
- .setUnit("messages"),
- Field.ofString(PUBLISHER_SUCCESS_COUNTER, "Broker message published count"));
+ rateDescription("messages", "Number of messages published by the broker publisher"),
+ stringField(PUBLISHER_SUCCESS_COUNTER, "Broker message published count"));
+
this.brokerPublisherFailureCounter =
metricMaker.newCounter(
"multi_site/broker/broker_message_publisher_failure_counter",
- new Description("Number of messages failed to publish by the broker publisher")
- .setRate()
- .setUnit("errors"),
- Field.ofString(PUBLISHER_FAILURE_COUNTER, "Broker failed to publish message count"));
+ rateDescription(
+ "errors", "Number of messages failed to publish by the broker publisher"),
+ stringField(PUBLISHER_FAILURE_COUNTER, "Broker failed to publish message count"));
}
public void incrementBrokerPublishedMessage() {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/GsonProvider.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/GsonProvider.java
deleted file mode 100644
index 0791e6a..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/GsonProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (C) 2019 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.googlesource.gerrit.plugins.multisite.broker;
-
-import com.google.common.base.Supplier;
-import com.google.gerrit.server.events.Event;
-import com.google.gerrit.server.events.EventDeserializer;
-import com.google.gerrit.server.events.SupplierDeserializer;
-import com.google.gerrit.server.events.SupplierSerializer;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.inject.Provider;
-
-public class GsonProvider implements Provider<Gson> {
- @Override
- public Gson get() {
- return new GsonBuilder()
- .registerTypeAdapter(Event.class, new EventDeserializer())
- .registerTypeAdapter(Supplier.class, new SupplierSerializer())
- .registerTypeAdapter(Supplier.class, new SupplierDeserializer())
- .create();
- }
-}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisher.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisher.java
index ba5b532..743d323 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisher.java
@@ -17,6 +17,7 @@
import com.google.common.annotations.VisibleForTesting;
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.inject.Inject;
@@ -24,7 +25,6 @@
import com.googlesource.gerrit.plugins.multisite.InstanceId;
import com.googlesource.gerrit.plugins.multisite.MessageLogger;
import com.googlesource.gerrit.plugins.multisite.MessageLogger.Direction;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerSession;
import com.googlesource.gerrit.plugins.multisite.consumer.SourceAwareEventWrapper;
import com.googlesource.gerrit.plugins.multisite.forwarder.Context;
@@ -44,7 +44,7 @@
@Inject
public BrokerPublisher(
BrokerSession session,
- @BrokerGson Gson gson,
+ @EventGson Gson gson,
@InstanceId UUID instanceId,
MessageLogger msgLog) {
this.session = session;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java
index 7854aab..3d1046f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java
@@ -16,6 +16,7 @@
import com.google.common.flogger.FluentLogger;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventGson;
import com.google.gerrit.server.permissions.PermissionBackendException;
import com.google.gson.Gson;
import com.googlesource.gerrit.plugins.multisite.InstanceId;
@@ -23,7 +24,6 @@
import com.googlesource.gerrit.plugins.multisite.MessageLogger.Direction;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApi;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApiWrapper;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.forwarder.CacheNotFoundException;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.ForwardedEventRouter;
@@ -45,7 +45,7 @@
BrokerApiWrapper brokerApi,
ForwardedEventRouter eventRouter,
DynamicSet<DroppedEventListener> droppedEventListeners,
- @BrokerGson Gson gson,
+ @EventGson Gson gson,
@InstanceId UUID instanceId,
MessageLogger msgLog,
SubscriberMetrics subscriberMetrics) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/CacheEvictionEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/CacheEvictionEventSubscriber.java
index d096148..53aae99 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/CacheEvictionEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/CacheEvictionEventSubscriber.java
@@ -15,13 +15,13 @@
package com.googlesource.gerrit.plugins.multisite.consumer;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.multisite.InstanceId;
import com.googlesource.gerrit.plugins.multisite.MessageLogger;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApiWrapper;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.StreamEventRouter;
import java.util.UUID;
@@ -33,7 +33,7 @@
BrokerApiWrapper brokerApi,
StreamEventRouter eventRouter,
DynamicSet<DroppedEventListener> droppedEventListeners,
- @BrokerGson Gson gsonProvider,
+ @EventGson Gson gsonProvider,
@InstanceId UUID instanceId,
MessageLogger msgLog,
SubscriberMetrics subscriberMetrics) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java
index df55040..eacccbf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java
@@ -15,13 +15,13 @@
package com.googlesource.gerrit.plugins.multisite.consumer;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.multisite.InstanceId;
import com.googlesource.gerrit.plugins.multisite.MessageLogger;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApiWrapper;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.IndexEventRouter;
import java.util.UUID;
@@ -33,7 +33,7 @@
BrokerApiWrapper brokerApi,
IndexEventRouter eventRouter,
DynamicSet<DroppedEventListener> droppedEventListeners,
- @BrokerGson Gson gsonProvider,
+ @EventGson Gson gsonProvider,
@InstanceId UUID instanceId,
MessageLogger msgLog,
SubscriberMetrics subscriberMetrics) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriber.java
index 5c42ea6..4fa7f64 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriber.java
@@ -15,13 +15,13 @@
package com.googlesource.gerrit.plugins.multisite.consumer;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.multisite.InstanceId;
import com.googlesource.gerrit.plugins.multisite.MessageLogger;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApiWrapper;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.ProjectListUpdateRouter;
import java.util.UUID;
@@ -33,7 +33,7 @@
BrokerApiWrapper brokerApi,
ProjectListUpdateRouter eventRouter,
DynamicSet<DroppedEventListener> droppedEventListeners,
- @BrokerGson Gson gson,
+ @EventGson Gson gson,
@InstanceId UUID instanceId,
MessageLogger msgLog,
SubscriberMetrics subscriberMetrics) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java
index b48ab31..2918657 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java
@@ -15,13 +15,13 @@
package com.googlesource.gerrit.plugins.multisite.consumer;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.multisite.InstanceId;
import com.googlesource.gerrit.plugins.multisite.MessageLogger;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApiWrapper;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.StreamEventRouter;
import java.util.UUID;
@@ -33,7 +33,7 @@
BrokerApiWrapper brokerApi,
StreamEventRouter eventRouter,
DynamicSet<DroppedEventListener> droppedEventListeners,
- @BrokerGson Gson gson,
+ @EventGson Gson gson,
@InstanceId UUID instanceId,
MessageLogger msgLog,
SubscriberMetrics subscriberMetrics) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java
index 996b581..ef10151 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java
@@ -16,13 +16,13 @@
import com.google.gerrit.metrics.Counter1;
import com.google.gerrit.metrics.Description;
-import com.google.gerrit.metrics.Field;
import com.google.gerrit.metrics.MetricMaker;
import com.google.inject.Inject;
import com.google.inject.Singleton;
+import com.googlesource.gerrit.plugins.multisite.MultiSiteMetrics;
@Singleton
-public class SubscriberMetrics {
+public class SubscriberMetrics extends MultiSiteMetrics {
private static final String SUBSCRIBER_SUCCESS_COUNTER = "subscriber_msg_consumer_counter";
private static final String SUBSCRIBER_FAILURE_COUNTER =
"subscriber_msg_consumer_failure_counter";
@@ -42,15 +42,14 @@
new Description("Number of messages consumed by the subscriber")
.setRate()
.setUnit("messages"),
- Field.ofString(SUBSCRIBER_SUCCESS_COUNTER, "Subscriber message consumed count"));
+ stringField(SUBSCRIBER_SUCCESS_COUNTER, "Subscriber message consumed count"));
this.subscriberFailureCounter =
metricMaker.newCounter(
"multi_site/subscriber/subscriber_message_consumer_failure_counter",
new Description("Number of messages failed to consume by the subscriber consumer")
.setRate()
.setUnit("errors"),
- Field.ofString(
- SUBSCRIBER_FAILURE_COUNTER, "Subscriber failed to consume messages count"));
+ stringField(SUBSCRIBER_FAILURE_COUNTER, "Subscriber failed to consume messages count"));
this.subscriberPollFailureCounter =
metricMaker.newCounter(
@@ -58,7 +57,7 @@
new Description("Number of failed attempts to poll messages by the subscriber")
.setRate()
.setUnit("errors"),
- Field.ofString(
+ stringField(
SUBSCRIBER_POLL_FAILURE_COUNTER, "Subscriber failed to poll messages count"));
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
index 8340a5f..5678d2c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
@@ -151,7 +151,7 @@
}
private static Change.Id parseChangeId(String id) {
- Change.Id changeId = new Change.Id(Integer.parseInt(Splitter.on("~").splitToList(id).get(1)));
+ Change.Id changeId = Change.id(Integer.parseInt(Splitter.on("~").splitToList(id).get(1)));
return changeId;
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java
index 368dffe..c7f89f1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java
@@ -40,7 +40,7 @@
@Override
protected void doIndex(String uuid, Optional<GroupIndexEvent> event) {
- indexer.index(new AccountGroup.UUID(uuid));
+ indexer.index(AccountGroup.uuid(uuid));
log.debug("Group {} successfully indexed", uuid);
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java
index e5f7e10..6ad8419 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java
@@ -66,7 +66,7 @@
public boolean attemptIndex(String projectName, Optional<ProjectIndexEvent> event) {
log.debug("Attempt to index project {}, event: [{}]", projectName, event);
- final Project.NameKey projectNameKey = new Project.NameKey(projectName);
+ final Project.NameKey projectNameKey = Project.nameKey(projectName);
if (projectChecker.isProjectUpToDate(projectNameKey)) {
indexer.index(projectNameKey);
log.debug("Project {} successfully indexed", projectName);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandler.java
index 30b2b35..1e57e95 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandler.java
@@ -47,7 +47,7 @@
* @throws IOException
*/
public void update(ProjectListUpdateEvent event) throws IOException {
- Project.NameKey projectKey = new Project.NameKey(event.projectName);
+ Project.NameKey projectKey = Project.nameKey(event.projectName);
try {
Context.setForwardedEvent(true);
if (event.remove) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParser.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParser.java
index 7930207..880b3ec 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParser.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParser.java
@@ -17,61 +17,45 @@
import com.google.common.base.Strings;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountGroup;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.multisite.cache.Constants;
public final class GsonParser {
+ private final Gson gson;
- private GsonParser() {}
+ @Inject
+ public GsonParser(@EventGson Gson gson) {
+ this.gson = gson;
+ }
- public static Object fromJson(String cacheName, String json) {
- Gson gson = new GsonBuilder().create();
+ public Object fromJson(String cacheName, String jsonString) {
+ JsonElement json = gson.fromJson(Strings.nullToEmpty(jsonString), JsonElement.class);
Object key;
// Need to add a case for 'adv_bases'
switch (cacheName) {
case Constants.ACCOUNTS:
- key = gson.fromJson(Strings.nullToEmpty(json).trim(), Account.Id.class);
+ key = Account.id(json.getAsJsonObject().get("id").getAsInt());
break;
case Constants.GROUPS:
- key = gson.fromJson(Strings.nullToEmpty(json).trim(), AccountGroup.Id.class);
+ key = AccountGroup.id(json.getAsJsonObject().get("id").getAsInt());
break;
case Constants.GROUPS_BYINCLUDE:
case Constants.GROUPS_MEMBERS:
- key = gson.fromJson(Strings.nullToEmpty(json).trim(), AccountGroup.UUID.class);
+ key = AccountGroup.uuid(json.getAsJsonObject().get("uuid").getAsString());
break;
case Constants.PROJECT_LIST:
- key = gson.fromJson(Strings.nullToEmpty(json), Object.class);
+ key = gson.fromJson(json, Object.class);
break;
default:
try {
- key = gson.fromJson(Strings.nullToEmpty(json).trim(), String.class);
+ key = gson.fromJson(json, String.class);
} catch (Exception e) {
- key = gson.fromJson(Strings.nullToEmpty(json), Object.class);
+ key = gson.fromJson(json, Object.class);
}
}
return key;
}
-
- public static String toJson(String cacheName, Object key) {
- Gson gson = new GsonBuilder().create();
- String json;
- // Need to add a case for 'adv_bases'
- switch (cacheName) {
- case Constants.ACCOUNTS:
- json = gson.toJson(key, Account.Id.class);
- break;
- case Constants.GROUPS:
- json = gson.toJson(key, AccountGroup.Id.class);
- break;
- case Constants.GROUPS_BYINCLUDE:
- case Constants.GROUPS_MEMBERS:
- json = gson.toJson(key, AccountGroup.UUID.class);
- break;
- case Constants.PROJECT_LIST:
- default:
- json = gson.toJson(key);
- }
- return json;
- }
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/CacheEvictionEventRouter.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/CacheEvictionEventRouter.java
index 4c17a95..8c86c0c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/CacheEvictionEventRouter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/CacheEvictionEventRouter.java
@@ -23,16 +23,19 @@
public class CacheEvictionEventRouter implements ForwardedEventRouter<CacheEvictionEvent> {
private final ForwardedCacheEvictionHandler cacheEvictionHanlder;
+ private final GsonParser gsonParser;
@Inject
- public CacheEvictionEventRouter(ForwardedCacheEvictionHandler cacheEvictionHanlder) {
+ public CacheEvictionEventRouter(
+ ForwardedCacheEvictionHandler cacheEvictionHanlder, GsonParser gsonParser) {
this.cacheEvictionHanlder = cacheEvictionHanlder;
+ this.gsonParser = gsonParser;
}
@Override
public void route(CacheEvictionEvent cacheEvictionEvent) throws CacheNotFoundException {
Object parsedKey =
- GsonParser.fromJson(cacheEvictionEvent.cacheName, cacheEvictionEvent.key.toString());
+ gsonParser.fromJson(cacheEvictionEvent.cacheName, cacheEvictionEvent.key.toString());
cacheEvictionHanlder.evict(CacheEntry.from(cacheEvictionEvent.cacheName, parsedKey));
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/IndexEventRouter.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/IndexEventRouter.java
index 3bd1142..0f8a9bf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/IndexEventRouter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/IndexEventRouter.java
@@ -62,7 +62,7 @@
} else if (sourceEvent instanceof AccountIndexEvent) {
AccountIndexEvent accountIndexEvent = (AccountIndexEvent) sourceEvent;
indexAccountHandler.index(
- new Account.Id(accountIndexEvent.accountId), INDEX, Optional.of(accountIndexEvent));
+ Account.id(accountIndexEvent.accountId), INDEX, Optional.of(accountIndexEvent));
} else if (sourceEvent instanceof GroupIndexEvent) {
GroupIndexEvent groupIndexEvent = (GroupIndexEvent) sourceEvent;
indexGroupHandler.index(groupIndexEvent.groupUUID, INDEX, Optional.of(groupIndexEvent));
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java
index f1e80cc..4d171f6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java
@@ -126,7 +126,7 @@
private String getBranchTargetSha() {
try {
try (Repository repo = gitRepoMgr.openRepository(changeNotes.get().getProjectName())) {
- String refName = changeNotes.get().getChange().getDest().get();
+ String refName = changeNotes.get().getChange().getDest().branch();
Ref ref = repo.exactRef(refName);
if (ref == null) {
log.warn("Unable to find target ref {} for change {}", refName, changeId);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializer.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializer.java
index 38b8d61..afd2656 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializer.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializer.java
@@ -14,10 +14,10 @@
package com.googlesource.gerrit.plugins.multisite.kafka.consumer;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.consumer.SourceAwareEventWrapper;
import java.util.Map;
import org.apache.kafka.common.serialization.Deserializer;
@@ -34,7 +34,7 @@
public KafkaEventDeserializer() {}
@Inject
- public KafkaEventDeserializer(@BrokerGson Gson gson) {
+ public KafkaEventDeserializer(@EventGson Gson gson) {
this.gson = gson;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRepository.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRepository.java
index b3678c6..fa3de64 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRepository.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRepository.java
@@ -53,7 +53,6 @@
public class MultiSiteRepository extends Repository {
- private final MultiSiteRefDatabase.Factory multiSiteRefDbFactory;
private final Repository repository;
private final RefDatabase refDatabase;
private final MultiSiteRefDatabase multiSiteRefDatabase;
@@ -68,7 +67,6 @@
@Assisted String projectName,
@Assisted Repository repository) {
super(new BaseRepositoryBuilder());
- this.multiSiteRefDbFactory = multiSiteRefDbFactory;
this.repository = repository;
this.refDatabase = repository.getRefDatabase();
this.multiSiteRefDatabase = multiSiteRefDbFactory.create(projectName, refDatabase);
@@ -157,6 +155,7 @@
return repository.getFS();
}
+ @SuppressWarnings("deprecation")
@Override
public boolean hasObject(AnyObjectId objectId) {
return repository.hasObject(objectId);
@@ -230,16 +229,19 @@
return repository.getAdditionalHaves();
}
+ @SuppressWarnings("deprecation")
@Override
public Map<String, Ref> getAllRefs() {
return repository.getAllRefs();
}
+ @SuppressWarnings("deprecation")
@Override
public Map<String, Ref> getTags() {
return repository.getTags();
}
+ @SuppressWarnings("deprecation")
@Override
public Ref peel(Ref ref) {
return repository.peel(ref);
@@ -397,4 +399,9 @@
public void autoGC(ProgressMonitor monitor) {
repository.autoGC(monitor);
}
+
+ @Override
+ public String getIdentifier() {
+ return repository.getIdentifier();
+ }
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultisiteReplicationPushFilter.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultisiteReplicationPushFilter.java
index 42f7194..9eadad7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultisiteReplicationPushFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/MultisiteReplicationPushFilter.java
@@ -54,7 +54,7 @@
String ref = refUpdate.getSrcRef();
try {
if (sharedRefDb.isUpToDate(
- new Project.NameKey(projectName),
+ Project.nameKey(projectName),
new ObjectIdRef.Unpeeled(
Ref.Storage.NETWORK, ref, refUpdate.getNewObjectId()))) {
return true;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectDeletedSharedDbCleanup.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectDeletedSharedDbCleanup.java
index 9c93793..41f7fec 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectDeletedSharedDbCleanup.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectDeletedSharedDbCleanup.java
@@ -42,7 +42,7 @@
"Deleting project '%s'. Will perform a cleanup in Shared-Ref database.", projectName);
try {
- sharedDb.remove(new Project.NameKey(projectName));
+ sharedDb.remove(Project.nameKey(projectName));
} catch (GlobalRefDbSystemError e) {
validationMetrics.incrementSplitBrain();
logger.atSevere().withCause(e).log(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/RefUpdateValidator.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/RefUpdateValidator.java
index a63c00b..4e744ec 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/RefUpdateValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/RefUpdateValidator.java
@@ -146,7 +146,7 @@
try {
succeeded =
sharedRefDb.compareAndPut(
- new Project.NameKey(projectName), refPair.compareRef, refPair.putValue);
+ Project.nameKey(projectName), refPair.compareRef, refPair.putValue);
} catch (GlobalRefDbSystemError e) {
throw new SharedDbSplitBrainException(errorMessage, e);
}
@@ -170,15 +170,15 @@
lockWrapperFactory.create(
projectName,
refName,
- sharedRefDb.lockRef(new Project.NameKey(projectName), refName)));
+ sharedRefDb.lockRef(Project.nameKey(projectName), refName)));
RefPair latestRefPair = getLatestLocalRef(refPair);
- if (sharedRefDb.isUpToDate(new Project.NameKey(projectName), latestRefPair.compareRef)) {
+ if (sharedRefDb.isUpToDate(Project.nameKey(projectName), latestRefPair.compareRef)) {
return latestRefPair;
}
if (isNullRef(latestRefPair.compareRef)
- || sharedRefDb.exists(new Project.NameKey(projectName), refName)) {
+ || sharedRefDb.exists(Project.nameKey(projectName), refName)) {
validationMetrics.incrementSplitBrainPrevention();
softFailBasedOnEnforcement(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ValidationMetrics.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ValidationMetrics.java
index ee9c5e5..cd2129a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ValidationMetrics.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ValidationMetrics.java
@@ -15,14 +15,13 @@
package com.googlesource.gerrit.plugins.multisite.validation;
import com.google.gerrit.metrics.Counter1;
-import com.google.gerrit.metrics.Description;
-import com.google.gerrit.metrics.Field;
import com.google.gerrit.metrics.MetricMaker;
import com.google.inject.Inject;
import com.google.inject.Singleton;
+import com.googlesource.gerrit.plugins.multisite.MultiSiteMetrics;
@Singleton
-public class ValidationMetrics {
+public class ValidationMetrics extends MultiSiteMetrics {
private static final String GIT_UPDATE_SPLIT_BRAIN_PREVENTED = "git_update_split_brain_prevented";
private static final String GIT_UPDATE_SPLIT_BRAIN = "git_update_split_brain";
@@ -34,16 +33,16 @@
this.splitBrainPreventionCounter =
metricMaker.newCounter(
"multi_site/validation/git_update_split_brain_prevented",
- new Description("Rate of REST API error responses").setRate().setUnit("errors"),
- Field.ofString(
+ rateDescription("errors", "Rate of REST API error responses"),
+ stringField(
GIT_UPDATE_SPLIT_BRAIN_PREVENTED,
"Ref-update operations, split-brain detected and prevented"));
this.splitBrainCounter =
metricMaker.newCounter(
"multi_site/validation/git_update_split_brain",
- new Description("Rate of REST API error responses").setRate().setUnit("errors"),
- Field.ofString(
+ rateDescription("errors", "Rate of REST API error responses"),
+ stringField(
GIT_UPDATE_SPLIT_BRAIN,
"Ref-update operation left node in a split-brain scenario"));
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisherTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisherTest.java
index c751a84..d5f8b66 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisherTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/broker/kafka/BrokerPublisherTest.java
@@ -23,12 +23,13 @@
import com.google.gerrit.extensions.client.ChangeKind;
import com.google.gerrit.reviewdb.client.Account;
-import com.google.gerrit.reviewdb.client.Branch;
+import com.google.gerrit.reviewdb.client.BranchNameKey;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.server.data.AccountAttribute;
import com.google.gerrit.server.data.ApprovalAttribute;
import com.google.gerrit.server.events.CommentAddedEvent;
import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.EventGsonProvider;
import com.google.gerrit.server.util.time.TimeUtil;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
@@ -36,7 +37,6 @@
import com.googlesource.gerrit.plugins.multisite.MessageLogger;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerMetrics;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerSession;
-import com.googlesource.gerrit.plugins.multisite.broker.GsonProvider;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
import java.util.UUID;
import org.junit.Before;
@@ -53,7 +53,7 @@
@Mock private MessageLogger msgLog;
private BrokerPublisher publisher;
- private Gson gson = new GsonProvider().get();
+ private Gson gson = new EventGsonProvider().get();
private String accountName = "Foo Bar";
private String accountEmail = "foo@bar.com";
@@ -105,11 +105,9 @@
+ accountUsername
+ "\"}}],\"comment\": \""
+ commentDescription
- + "\",\""
+ + "\",\"project\": \""
+ projectName
- + "\": {\"name\": \""
- + projectName
- + "\"},\"refName\": \""
+ + "\",\"refName\": \""
+ refName
+ "\",\"changeKey\": {\"id\": \""
+ changeId
@@ -121,7 +119,7 @@
JsonObject expectedCommentEventJsonObject =
gson.fromJson(expectedSerializedCommentEvent, JsonElement.class).getAsJsonObject();
- assertThat(publisher.eventToJson(event).equals(expectedCommentEventJsonObject)).isTrue();
+ assertThat(publisher.eventToJson(event)).isEqualTo(expectedCommentEventJsonObject);
}
@Test
@@ -144,10 +142,10 @@
private Event createSampleEvent() {
final Change change =
new Change(
- new Change.Key(changeId),
- new Change.Id(1),
- new Account.Id(1),
- new Branch.NameKey(projectName, refName),
+ Change.key(changeId),
+ Change.id(1),
+ Account.id(1),
+ BranchNameKey.create(projectName, refName),
TimeUtil.nowTs());
CommentAddedEvent event = new CommentAddedEvent(change);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedCacheEvictionHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedCacheEvictionHandlerTest.java
index c166077..8c7b54e 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedCacheEvictionHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedCacheEvictionHandlerTest.java
@@ -57,7 +57,7 @@
@Test
public void testSuccessfulCacheEviction() throws Exception {
- CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, new Account.Id(123));
+ CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, Account.id(123));
doReturn(cacheMock).when(cacheMapMock).get(entry.getPluginName(), entry.getCacheName());
handler.evict(entry);
@@ -75,7 +75,7 @@
@Test
public void shouldSetAndUnsetForwardedContext() throws Exception {
- CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, new Account.Id(456));
+ CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, Account.id(456));
doReturn(cacheMock).when(cacheMapMock).get(entry.getPluginName(), entry.getCacheName());
// this doAnswer is to allow to assert that context is set to forwarded
@@ -98,7 +98,7 @@
@Test
public void shouldSetAndUnsetForwardedContextEvenIfExceptionIsThrown() throws Exception {
- CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, new Account.Id(789));
+ CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, Account.id(789));
doReturn(cacheMock).when(cacheMapMock).get(entry.getPluginName(), entry.getCacheName());
doAnswer(
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedEventHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedEventHandlerTest.java
index 5c36ada..387fc41 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedEventHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedEventHandlerTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.forwarder;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
@@ -87,12 +87,8 @@
.postEvent(event);
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.dispatch(event);
- fail("should have throw an StorageException");
- } catch (StorageException e) {
- assertThat(e.getMessage()).isEqualTo("someMessage");
- }
+ StorageException thrown = assertThrows(StorageException.class, () -> handler.dispatch(event));
+ assertThat(thrown).hasMessageThat().isEqualTo("someMessage");
assertThat(Context.isForwardedEvent()).isFalse();
verify(dispatcherMock).postEvent(event);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandlerTest.java
index 0d452a4..83c79c1 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandlerTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.forwarder;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -50,7 +50,7 @@
when(config.index()).thenReturn(index);
when(index.numStripedLocks()).thenReturn(10);
handler = new ForwardedIndexAccountHandler(indexerMock, config);
- id = new Account.Id(123);
+ id = Account.id(123);
}
@Test
@@ -98,12 +98,9 @@
.index(id);
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.index(id, Operation.INDEX, Optional.empty());
- fail("should have thrown an IOException");
- } catch (IOException e) {
- assertThat(e.getMessage()).isEqualTo("someMessage");
- }
+ IOException thrown =
+ assertThrows(IOException.class, () -> handler.index(id, Operation.INDEX, Optional.empty()));
+ assertThat(thrown).hasMessageThat().isEqualTo("someMessage");
assertThat(Context.isForwardedEvent()).isFalse();
verify(indexerMock).index(id);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java
index 0a910c5..6255d32 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.forwarder;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doThrow;
@@ -82,7 +82,7 @@
@Before
public void setUp() throws Exception {
when(ctxMock.open()).thenReturn(manualRequestContextMock);
- id = new Change.Id(TEST_CHANGE_NUMBER);
+ id = Change.id(TEST_CHANGE_NUMBER);
change = new Change(null, id, null, null, TimeUtil.nowTs());
when(changeNotes.getChange()).thenReturn(change);
when(changeCheckerFactoryMock.create(any())).thenReturn(changeCheckerAbsentMock);
@@ -163,12 +163,11 @@
.index(any(Change.class));
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty());
- fail("should have thrown an IOException");
- } catch (IOException e) {
- assertThat(e.getMessage()).isEqualTo("someMessage");
- }
+ IOException thrown =
+ assertThrows(
+ IOException.class,
+ () -> handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty()));
+ assertThat(thrown).hasMessageThat().isEqualTo("someMessage");
assertThat(Context.isForwardedEvent()).isFalse();
verify(indexerMock, times(1)).index(any(Change.class));
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandlerTest.java
index 9013646..3b248aa 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandlerTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.forwarder;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -56,7 +56,7 @@
@Test
public void testSuccessfulIndexing() throws Exception {
handler.index(uuid, Operation.INDEX, Optional.empty());
- verify(indexerMock).index(new AccountGroup.UUID(uuid));
+ verify(indexerMock).index(AccountGroup.uuid(uuid));
}
@Test
@@ -77,13 +77,13 @@
return null;
})
.when(indexerMock)
- .index(new AccountGroup.UUID(uuid));
+ .index(AccountGroup.uuid(uuid));
assertThat(Context.isForwardedEvent()).isFalse();
handler.index(uuid, Operation.INDEX, Optional.empty());
assertThat(Context.isForwardedEvent()).isFalse();
- verify(indexerMock).index(new AccountGroup.UUID(uuid));
+ verify(indexerMock).index(AccountGroup.uuid(uuid));
}
@Test
@@ -95,17 +95,15 @@
throw new IOException("someMessage");
})
.when(indexerMock)
- .index(new AccountGroup.UUID(uuid));
+ .index(AccountGroup.uuid(uuid));
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.index(uuid, Operation.INDEX, Optional.empty());
- fail("should have thrown an IOException");
- } catch (IOException e) {
- assertThat(e.getMessage()).isEqualTo("someMessage");
- }
+ IOException thrown =
+ assertThrows(
+ IOException.class, () -> handler.index(uuid, Operation.INDEX, Optional.empty()));
+ assertThat(thrown).hasMessageThat().isEqualTo("someMessage");
assertThat(Context.isForwardedEvent()).isFalse();
- verify(indexerMock).index(new AccountGroup.UUID(uuid));
+ verify(indexerMock).index(AccountGroup.uuid(uuid));
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandlerTest.java
index 9f94d5f..0324ae2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandlerTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.forwarder;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
@@ -66,7 +66,7 @@
@Test
public void testSuccessfulIndexing() throws Exception {
handler.index(nameKey, Operation.INDEX, Optional.empty());
- verify(indexerMock).index(new Project.NameKey(nameKey));
+ verify(indexerMock).index(Project.nameKey(nameKey));
}
@Test
@@ -87,13 +87,13 @@
return null;
})
.when(indexerMock)
- .index(new Project.NameKey(nameKey));
+ .index(Project.nameKey(nameKey));
assertThat(Context.isForwardedEvent()).isFalse();
handler.index(nameKey, Operation.INDEX, Optional.empty());
assertThat(Context.isForwardedEvent()).isFalse();
- verify(indexerMock).index(new Project.NameKey(nameKey));
+ verify(indexerMock).index(Project.nameKey(nameKey));
}
@Test
@@ -105,18 +105,16 @@
throw new IOException("someMessage");
})
.when(indexerMock)
- .index(new Project.NameKey(nameKey));
+ .index(Project.nameKey(nameKey));
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.index(nameKey, Operation.INDEX, Optional.empty());
- fail("should have thrown an IOException");
- } catch (IOException e) {
- assertThat(e.getMessage()).isEqualTo("someMessage");
- }
+ IOException thrown =
+ assertThrows(
+ IOException.class, () -> handler.index(nameKey, Operation.INDEX, Optional.empty()));
+ assertThat(thrown).hasMessageThat().isEqualTo("someMessage");
assertThat(Context.isForwardedEvent()).isFalse();
- verify(indexerMock).index(new Project.NameKey(nameKey));
+ verify(indexerMock).index(Project.nameKey(nameKey));
}
@Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandlerTest.java
index a3b82d0..a911ef1 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedProjectListUpdateHandlerTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.forwarder;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
@@ -36,7 +36,7 @@
private static final String PROJECT_NAME = "someProject";
private static final String SOME_MESSAGE = "someMessage";
- private static final Project.NameKey PROJECT_KEY = new Project.NameKey(PROJECT_NAME);
+ private static final Project.NameKey PROJECT_KEY = Project.nameKey(PROJECT_NAME);
@Rule public ExpectedException exception = ExpectedException.none();
@Mock private ProjectCache projectCacheMock;
private ForwardedProjectListUpdateHandler handler;
@@ -110,12 +110,11 @@
.onCreateProject(PROJECT_KEY);
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.update(new ProjectListUpdateEvent(PROJECT_NAME, false));
- fail("should have thrown a RuntimeException");
- } catch (RuntimeException e) {
- assertThat(e.getMessage()).isEqualTo(SOME_MESSAGE);
- }
+ RuntimeException thrown =
+ assertThrows(
+ RuntimeException.class,
+ () -> handler.update(new ProjectListUpdateEvent(PROJECT_NAME, false)));
+ assertThat(thrown).hasMessageThat().isEqualTo(SOME_MESSAGE);
assertThat(Context.isForwardedEvent()).isFalse();
verify(projectCacheMock).onCreateProject(PROJECT_KEY);
@@ -133,12 +132,11 @@
.remove(PROJECT_KEY);
assertThat(Context.isForwardedEvent()).isFalse();
- try {
- handler.update(new ProjectListUpdateEvent(PROJECT_NAME, true));
- fail("should have thrown a RuntimeException");
- } catch (RuntimeException e) {
- assertThat(e.getMessage()).isEqualTo(SOME_MESSAGE);
- }
+ RuntimeException thrown =
+ assertThrows(
+ RuntimeException.class,
+ () -> handler.update(new ProjectListUpdateEvent(PROJECT_NAME, true)));
+ assertThat(thrown).hasMessageThat().isEqualTo(SOME_MESSAGE);
assertThat(Context.isForwardedEvent()).isFalse();
verify(projectCacheMock).remove(PROJECT_KEY);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParserTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParserTest.java
index 0a1be19..eb9334c 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParserTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/GsonParserTest.java
@@ -18,44 +18,49 @@
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountGroup;
+import com.google.gerrit.server.events.EventGsonProvider;
+import com.google.gson.Gson;
import com.googlesource.gerrit.plugins.multisite.cache.Constants;
import org.junit.Test;
public class GsonParserTest {
private static final Object EMPTY_JSON = "{}";
+ private final Gson gson = new EventGsonProvider().get();
+ private final GsonParser gsonParser = new GsonParser(gson);
+
@Test
public void accountIDParse() {
- Account.Id accountId = new Account.Id(1);
- String json = GsonParser.toJson(Constants.ACCOUNTS, accountId);
- assertThat(accountId).isEqualTo(GsonParser.fromJson(Constants.ACCOUNTS, json));
+ Account.Id accountId = Account.id(1);
+ String json = gson.toJson(accountId);
+ assertThat(accountId).isEqualTo(gsonParser.fromJson(Constants.ACCOUNTS, json));
}
@Test
public void accountGroupIDParse() {
- AccountGroup.Id accountGroupId = new AccountGroup.Id(1);
- String json = GsonParser.toJson(Constants.GROUPS, accountGroupId);
- assertThat(accountGroupId).isEqualTo(GsonParser.fromJson(Constants.GROUPS, json));
+ AccountGroup.Id accountGroupId = AccountGroup.id(1);
+ String json = gson.toJson(accountGroupId);
+ assertThat(accountGroupId).isEqualTo(gsonParser.fromJson(Constants.GROUPS, json));
}
@Test
public void accountGroupUUIDParse() {
- AccountGroup.UUID accountGroupUuid = new AccountGroup.UUID("abc123");
- String json = GsonParser.toJson(Constants.GROUPS_BYINCLUDE, accountGroupUuid);
- assertThat(accountGroupUuid).isEqualTo(GsonParser.fromJson(Constants.GROUPS_BYINCLUDE, json));
+ AccountGroup.UUID accountGroupUuid = AccountGroup.uuid("abc123");
+ String json = gson.toJson(accountGroupUuid);
+ assertThat(accountGroupUuid).isEqualTo(gsonParser.fromJson(Constants.GROUPS_BYINCLUDE, json));
}
@Test
public void stringParse() {
String key = "key";
- String json = GsonParser.toJson(Constants.PROJECTS, key);
- assertThat(key).isEqualTo(GsonParser.fromJson(Constants.PROJECTS, json));
+ String json = gson.toJson(key);
+ assertThat(key).isEqualTo(gsonParser.fromJson(Constants.PROJECTS, json));
}
@Test
public void noKeyParse() {
Object object = new Object();
- String json = GsonParser.toJson(Constants.PROJECT_LIST, object);
+ String json = gson.toJson(object);
assertThat(json).isEqualTo(EMPTY_JSON);
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/CacheEvictionEventRouterTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/CacheEvictionEventRouterTest.java
index ec03a40..a19134d 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/CacheEvictionEventRouterTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/CacheEvictionEventRouterTest.java
@@ -16,8 +16,10 @@
import static org.mockito.Mockito.verify;
+import com.google.gson.Gson;
import com.googlesource.gerrit.plugins.multisite.forwarder.CacheEntry;
import com.googlesource.gerrit.plugins.multisite.forwarder.ForwardedCacheEvictionHandler;
+import com.googlesource.gerrit.plugins.multisite.forwarder.GsonParser;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.CacheEvictionEvent;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.CacheEvictionEventRouter;
import org.junit.Before;
@@ -34,7 +36,7 @@
@Before
public void setUp() {
- router = new CacheEvictionEventRouter(cacheEvictionHandler);
+ router = new CacheEvictionEventRouter(cacheEvictionHandler, new GsonParser(new Gson()));
}
@Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java
index b13c7d9..b7127be 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java
@@ -34,6 +34,7 @@
import com.google.gerrit.server.data.PatchSetAttribute;
import com.google.gerrit.server.events.CommentAddedEvent;
import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.EventGson;
import com.google.gerrit.server.events.PatchSetCreatedEvent;
import com.google.gerrit.server.events.RefUpdatedEvent;
import com.google.gerrit.server.query.change.ChangeData;
@@ -49,7 +50,6 @@
import com.googlesource.gerrit.plugins.multisite.ZookeeperConfig;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApi;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerApiWrapper;
-import com.googlesource.gerrit.plugins.multisite.broker.BrokerGson;
import com.googlesource.gerrit.plugins.multisite.broker.BrokerModule;
import com.googlesource.gerrit.plugins.multisite.consumer.DroppedEventListener;
import com.googlesource.gerrit.plugins.multisite.consumer.SourceAwareEventWrapper;
@@ -67,7 +67,6 @@
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.eclipse.jgit.lib.Config;
-import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevWalk;
@@ -186,9 +185,9 @@
String project = change.project().get();
int changeNum = change.getId().get();
String changeNotesRef = change.notes().getRefName();
- int patchsetNum = change.currentPatchSet().getPatchSetId();
- String patchsetRevision = change.currentPatchSet().getRevision().get();
- String patchsetRef = change.currentPatchSet().getRefName();
+ int patchsetNum = change.currentPatchSet().id().get();
+ String patchsetRevision = change.currentPatchSet().commitId().name();
+ String patchsetRef = change.currentPatchSet().refName();
Map<String, List<Event>> eventsByType = receiveEventsByType(droppedEventsQueue);
assertThat(eventsByType).isNotEmpty();
@@ -200,7 +199,7 @@
eventsByType.get("ref-updated").stream()
.map(e -> ((RefUpdatedEvent) e).getRefName())
.collect(toSet()))
- .containsAllOf(changeNotesRef, patchsetRef); // 'refs/sequences/changes'
+ .containsAtLeast(changeNotesRef, patchsetRef); // 'refs/sequences/changes'
// not always updated thus
// not checked
@@ -254,8 +253,7 @@
RevCommit parent;
try (Repository repo = repoManager.openRepository(change.project());
RevWalk walk = new RevWalk(repo)) {
- RevCommit commit =
- walk.parseCommit(ObjectId.fromString(change.currentPatchSet().getRevision().get()));
+ RevCommit commit = walk.parseCommit(change.currentPatchSet().commitId());
parent = commit.getParent(0);
}
return parent.getId().name();
@@ -296,7 +294,7 @@
private List<Event> drainQueue(LinkedBlockingQueue<SourceAwareEventWrapper> queue)
throws InterruptedException {
- Gson gson = server.getTestInjector().getInstance(Key.get(Gson.class, BrokerGson.class));
+ Gson gson = server.getTestInjector().getInstance(Key.get(Gson.class, EventGson.class));
SourceAwareEventWrapper event;
List<Event> eventsList = new ArrayList<>();
while ((event = queue.poll(QUEUE_POLL_TIMEOUT_MSECS, TimeUnit.MILLISECONDS)) != null) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/IndexEventRouterTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/IndexEventRouterTest.java
index df7c2fc..e2cf5ef 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/IndexEventRouterTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/IndexEventRouterTest.java
@@ -14,6 +14,7 @@
package com.googlesource.gerrit.plugins.multisite.kafka.consumer;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
@@ -30,7 +31,6 @@
import com.googlesource.gerrit.plugins.multisite.forwarder.events.ProjectIndexEvent;
import com.googlesource.gerrit.plugins.multisite.forwarder.router.IndexEventRouter;
import java.util.Optional;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -60,7 +60,7 @@
verify(indexAccountHandler)
.index(
- new Account.Id(event.accountId),
+ Account.id(event.accountId),
ForwardedIndexingHandler.Operation.INDEX,
Optional.of(event));
@@ -123,12 +123,8 @@
public void routerShouldFailForNotRecognisedEvents() throws Exception {
final IndexEvent newEventType = new IndexEvent("new-type") {};
- try {
- router.route(newEventType);
- Assert.fail("Expected exception for not supported event");
- } catch (UnsupportedOperationException expected) {
- verifyZeroInteractions(
- indexAccountHandler, indexChangeHandler, indexGroupHandler, indexProjectHandler);
- }
+ assertThrows(UnsupportedOperationException.class, () -> router.route(newEventType));
+ verifyZeroInteractions(
+ indexAccountHandler, indexChangeHandler, indexGroupHandler, indexProjectHandler);
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializerTest.java
index 239b586..76ad452 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/KafkaEventDeserializerTest.java
@@ -17,8 +17,8 @@
import static com.google.common.truth.Truth.assertThat;
import static java.nio.charset.StandardCharsets.UTF_8;
+import com.google.gerrit.server.events.EventGsonProvider;
import com.google.gson.Gson;
-import com.googlesource.gerrit.plugins.multisite.broker.GsonProvider;
import com.googlesource.gerrit.plugins.multisite.consumer.SourceAwareEventWrapper;
import java.util.UUID;
import org.junit.Before;
@@ -29,7 +29,7 @@
@Before
public void setUp() {
- final Gson gson = new GsonProvider().get();
+ final Gson gson = new EventGsonProvider().get();
deserializer = new KafkaEventDeserializer(gson);
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/StreamEventRouterTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/StreamEventRouterTest.java
index 147f275..ef6c04f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/StreamEventRouterTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/StreamEventRouterTest.java
@@ -17,7 +17,7 @@
import static org.mockito.Mockito.verify;
import com.google.gerrit.reviewdb.client.Account;
-import com.google.gerrit.reviewdb.client.Branch;
+import com.google.gerrit.reviewdb.client.BranchNameKey;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.server.events.CommentAddedEvent;
import com.google.gerrit.server.util.time.TimeUtil;
@@ -49,10 +49,10 @@
private Change aChange() {
return new Change(
- new Change.Key("Iabcd1234abcd1234abcd1234abcd1234abcd1234"),
- new Change.Id(1),
- new Account.Id(1),
- new Branch.NameKey("proj", "refs/heads/master"),
+ Change.key("Iabcd1234abcd1234abcd1234abcd1234abcd1234"),
+ Change.id(1),
+ Account.id(1),
+ BranchNameKey.create("proj", "refs/heads/master"),
TimeUtil.nowTs());
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteBatchRefUpdateTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteBatchRefUpdateTest.java
index e89e50e..ead9806 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteBatchRefUpdateTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteBatchRefUpdateTest.java
@@ -14,8 +14,8 @@
package com.googlesource.gerrit.plugins.multisite.validation;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static java.util.Arrays.asList;
-import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
@@ -89,6 +89,7 @@
return "branch_" + nameRule.getMethodName();
}
+ @SuppressWarnings("deprecation")
private void setMockRequiredReturnValues() throws IOException {
doReturn(batchRefUpdate).when(refDatabase).newBatchUpdate();
@@ -128,12 +129,10 @@
setMockRequiredReturnValues();
doReturn(true).when(sharedRefDb).exists(A_TEST_PROJECT_NAME_KEY, A_TEST_REF_NAME);
doReturn(false).when(sharedRefDb).isUpToDate(A_TEST_PROJECT_NAME_KEY, oldRef);
- try {
- multiSiteRefUpdate.execute(revWalk, progressMonitor, Collections.emptyList());
- fail("Expecting an IOException to be thrown");
- } catch (IOException e) {
- verify(validationMetrics).incrementSplitBrainPrevention();
- }
+ assertThrows(
+ IOException.class,
+ () -> multiSiteRefUpdate.execute(revWalk, progressMonitor, Collections.emptyList()));
+ verify(validationMetrics).incrementSplitBrainPrevention();
}
@Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRefUpdateTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRefUpdateTest.java
index 433a462..9b26fec 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRefUpdateTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/MultiSiteRefUpdateTest.java
@@ -15,7 +15,7 @@
package com.googlesource.gerrit.plugins.multisite.validation;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.fail;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -101,12 +101,8 @@
MultiSiteRefUpdate multiSiteRefUpdate =
getMultiSiteRefUpdateWithDefaultPolicyEnforcement(refUpdate);
- try {
- multiSiteRefUpdate.update();
- fail("Expecting an IOException to be thrown");
- } catch (IOException e) {
- verify(validationMetrics).incrementSplitBrainPrevention();
- }
+ assertThrows(IOException.class, () -> multiSiteRefUpdate.update());
+ verify(validationMetrics).incrementSplitBrainPrevention();
}
@Test
@@ -123,12 +119,8 @@
MultiSiteRefUpdate multiSiteRefUpdate =
getMultiSiteRefUpdateWithDefaultPolicyEnforcement(refUpdate);
- try {
- multiSiteRefUpdate.update();
- fail("Expecting an IOException to be thrown");
- } catch (IOException e) {
- verify(validationMetrics, never()).incrementSplitBrainPrevention();
- }
+ assertThrows(IOException.class, () -> multiSiteRefUpdate.update());
+ verify(validationMetrics, never()).incrementSplitBrainPrevention();
}
@Test
@@ -145,12 +137,8 @@
MultiSiteRefUpdate multiSiteRefUpdate =
getMultiSiteRefUpdateWithDefaultPolicyEnforcement(refUpdate);
- try {
- multiSiteRefUpdate.update();
- fail("Expecting an IOException to be thrown");
- } catch (IOException e) {
- verify(validationMetrics).incrementSplitBrain();
- }
+ assertThrows(IOException.class, () -> multiSiteRefUpdate.update());
+ verify(validationMetrics).incrementSplitBrain();
}
@Test
@@ -180,12 +168,8 @@
MultiSiteRefUpdate multiSiteRefUpdate =
getMultiSiteRefUpdateWithDefaultPolicyEnforcement(refUpdate);
- try {
- multiSiteRefUpdate.delete();
- fail("Expecting an IOException to be thrown");
- } catch (IOException e) {
- verify(validationMetrics).incrementSplitBrainPrevention();
- }
+ assertThrows(IOException.class, () -> multiSiteRefUpdate.delete());
+ verify(validationMetrics).incrementSplitBrainPrevention();
}
private MultiSiteRefUpdate getMultiSiteRefUpdateWithDefaultPolicyEnforcement(
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/MultisiteReplicationPushFilterTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/MultisiteReplicationPushFilterTest.java
index 087259a..de265d851 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/MultisiteReplicationPushFilterTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/MultisiteReplicationPushFilterTest.java
@@ -47,7 +47,7 @@
@Mock SharedRefDatabaseWrapper sharedRefDatabaseMock;
String project = "fooProject";
- Project.NameKey projectName = new Project.NameKey(project);
+ Project.NameKey projectName = Project.nameKey(project);
@Test
public void shouldReturnAllRefUpdatesWhenAllUpToDate() throws Exception {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/RefFixture.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/RefFixture.java
index 609c940..09bec4c 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/RefFixture.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/RefFixture.java
@@ -29,7 +29,7 @@
static final String ALLOWED_NAME_CHARS =
ALLOWED_CHARS + ALLOWED_CHARS.toUpperCase() + ALLOWED_DIGITS;
static final String A_TEST_PROJECT_NAME = "A_TEST_PROJECT_NAME";
- static final Project.NameKey A_TEST_PROJECT_NAME_KEY = new Project.NameKey(A_TEST_PROJECT_NAME);
+ static final Project.NameKey A_TEST_PROJECT_NAME_KEY = Project.nameKey(A_TEST_PROJECT_NAME);
static final ObjectId AN_OBJECT_ID_1 = new ObjectId(1, 2, 3, 4, 5);
static final ObjectId AN_OBJECT_ID_2 = new ObjectId(1, 2, 3, 4, 6);
static final ObjectId AN_OBJECT_ID_3 = new ObjectId(1, 2, 3, 4, 7);