Merge branch 'stable-2.15' into stable-2.16
* stable-2.15:
Update mockito-core to 2.24.5
Change-Id: I7d49292d5e3f4ac2f40b99b3e2429cb461d3a098
diff --git a/WORKSPACE b/WORKSPACE
index 5fe338b..83800c6 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "2b1d68959119920e5fa9bdfb9f0cf926bfef4929",
+ commit = "b084bd74743f4303971a2a057bcea4f3352ddf4e",
#local_path = "/home/<user>/projects/bazlets",
)
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java
index 15f830a..6a020c5 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java
@@ -14,8 +14,8 @@
package com.ericsson.gerrit.plugins.eventslog;
-import com.google.gerrit.common.EventListener;
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 java.util.concurrent.ScheduledExecutorService;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java
index b888425..3f905c7 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java
@@ -15,10 +15,10 @@
package com.ericsson.gerrit.plugins.eventslog;
import com.ericsson.gerrit.plugins.eventslog.sql.EventsLogCleaner;
-import com.google.gerrit.common.EventListener;
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.extensions.events.ProjectDeletedListener;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventListener;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Scopes;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLDialect.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLDialect.java
index 48c246a..10df147 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLDialect.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLDialect.java
@@ -21,9 +21,8 @@
POSTGRESQL;
/**
- * This attempts to determine the SQL dialect from the JDBC URL.
- * If the URL does not match one of the supported dialects, then
- * H2 will be returned by default.
+ * This attempts to determine the SQL dialect from the JDBC URL. If the URL does not match one of
+ * the supported dialects, then H2 will be returned by default.
*
* @param jdbcUrl The JDBC URL.
* @return The dialect for the JDBC URL.
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java
index 8a06904..2119306 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java
@@ -22,17 +22,15 @@
import com.ericsson.gerrit.plugins.eventslog.EventsLogConfig;
import com.ericsson.gerrit.plugins.eventslog.EventsLogException;
import com.ericsson.gerrit.plugins.eventslog.ServiceUnavailableException;
-import com.google.gerrit.common.TimeUtil;
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.events.ProjectEvent;
import com.google.gerrit.server.permissions.PermissionBackend;
import com.google.gerrit.server.permissions.PermissionBackendException;
import com.google.gerrit.server.permissions.ProjectPermission;
+import com.google.gerrit.server.util.time.TimeUtil;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import com.google.inject.Singleton;
import java.io.IOException;
import java.net.ConnectException;
@@ -54,7 +52,6 @@
private static final Logger log = LoggerFactory.getLogger(SQLStore.class);
private static final String H2_DB_SUFFIX = ".h2.db";
- private final Provider<CurrentUser> userProvider;
private final EventsLogCleaner eventsLogCleaner;
private SQLClient eventsDb;
private SQLClient localEventsDb;
@@ -71,7 +68,6 @@
@Inject
SQLStore(
- Provider<CurrentUser> userProvider,
EventsLogConfig cfg,
@EventsDb SQLClient eventsDb,
@LocalEventsDb SQLClient localEventsDb,
@@ -83,7 +79,6 @@
this.waitTime = cfg.getWaitTime();
this.connectTime = cfg.getConnectTime();
this.copyLocal = cfg.getCopyLocal();
- this.userProvider = userProvider;
this.eventsDb = eventsDb;
this.localEventsDb = localEventsDb;
this.eventsLogCleaner = eventsLogCleaner;
@@ -121,7 +116,7 @@
String projectName = entry.getKey();
try {
permissionBackend
- .user(userProvider)
+ .currentUser()
.project(new Project.NameKey(projectName))
.check(ProjectPermission.ACCESS);
entries.addAll(entry.getValue());
diff --git a/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java b/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
index 96ce35d..b473ad9 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
@@ -29,13 +29,11 @@
import com.ericsson.gerrit.plugins.eventslog.ServiceUnavailableException;
import com.google.common.collect.ImmutableList;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.events.ProjectEvent;
import com.google.gerrit.server.permissions.PermissionBackend;
import com.google.gerrit.server.permissions.PermissionBackendException;
import com.google.gerrit.server.permissions.ProjectPermission;
import com.google.gson.Gson;
-import com.google.inject.Provider;
import com.zaxxer.hikari.HikariConfig;
import java.net.ConnectException;
import java.sql.Connection;
@@ -70,7 +68,6 @@
private static final String MSG = "message";
private static final String GENERIC_QUERY = "SELECT * FROM " + TABLE_NAME;
- @Mock private Provider<CurrentUser> userProviderMock;
@Mock private EventsLogConfig cfgMock;
@Mock private PermissionBackend permissionBackendMock;
@Mock private PermissionBackend.ForProject forProjectMock;
@@ -110,7 +107,7 @@
@Test
public void storeThenQueryVisible() throws Exception {
- when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+ when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
doNothing().when(forProjectMock).check(ProjectPermission.ACCESS);
setUpClient();
@@ -122,7 +119,7 @@
@Test
public void storeThenQueryNotVisible() throws Exception {
- when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+ when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
doThrow(new PermissionBackendException(""))
.when(forProjectMock)
@@ -142,7 +139,7 @@
@Test
public void notReturnEventWithNoVisibilityInfo() throws Exception {
- when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+ when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
doThrow(new PermissionBackendException(""))
.when(forProjectMock)
@@ -163,13 +160,7 @@
doThrow(exceptions).doNothing().when(eventsDb).queryOne();
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -185,15 +176,10 @@
setUpClientMock();
doThrow(exceptions).doNothing().when(eventsDb).storeEvent(mockEvent);
doThrow(exceptions).doNothing().when(eventsDb).queryOne();
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -206,15 +192,10 @@
when(cfgMock.getMaxTries()).thenReturn(3);
setUpClientMock();
doThrow(new SQLException(MSG)).when(eventsDb).storeEvent(mockEvent);
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -229,15 +210,10 @@
setUpClientMock();
doThrow(exceptions).doNothing().when(eventsDb).storeEvent(mockEvent);
doThrow(exceptions).doNothing().when(eventsDb).queryOne();
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -249,15 +225,10 @@
setUpClientMock();
doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
doThrow(new SQLException()).when(eventsDb).queryOne();
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -268,7 +239,8 @@
public void restoreEventsFromLocalDb() throws Exception {
MockEvent mockEvent = new MockEvent();
MockEvent mockEvent2 = new MockEvent("proj");
- when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+
+ when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
doNothing().when(forProjectMock).check(ProjectPermission.ACCESS);
@@ -278,13 +250,7 @@
localEventsDb = new SQLClient(config);
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
localEventsDb.createDBIfNotCreated();
localEventsDb.storeEvent(mockEvent);
@@ -295,6 +261,9 @@
Gson gson = new Gson();
String json = gson.toJson(mockEvent);
String json2 = gson.toJson(mockEvent2);
+
+ assertThat(events).containsExactly(json, json2);
+
assertThat(events).containsExactly(json, json2).inOrder();
}
@@ -303,15 +272,10 @@
setUpClientMock();
doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
doThrow(new SQLException()).when(eventsDb).queryOne();
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
verify(localEventsDb).createDBIfNotCreated();
@@ -322,15 +286,10 @@
setUpClientMock();
doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
doThrow(new SQLException()).when(eventsDb).queryOne();
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -343,15 +302,10 @@
when(cfgMock.getMaxTries()).thenReturn(0);
doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
doThrow(new SQLException()).when(eventsDb).queryOne();
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
store.storeEvent(mockEvent);
@@ -359,17 +313,13 @@
}
private void setUpClient() {
+
eventsDb = new SQLClient(config);
localEventsDb = new SQLClient(config);
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
+
store.start();
}
@@ -391,15 +341,10 @@
localEventsDb = mock(SQLClient.class);
when(localEventsDb.dbExists()).thenReturn(true);
when(localEventsDb.getAll()).thenReturn(ImmutableList.of(mock(SQLEntry.class)));
+
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
poolMock.scheduleWithFixedDelay(store.new CheckConnectionTask(), 0, 0, TimeUnit.MILLISECONDS);
@@ -433,13 +378,7 @@
store =
new SQLStore(
- userProviderMock,
- cfgMock,
- eventsDb,
- localEventsDb,
- poolMock,
- permissionBackendMock,
- logCleanerMock);
+ cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
store.start();
verify(eventsDb).queryOne();