Merge branch 'stable-3.2'
* stable-3.2:
Add Gatling e2e-test for rename-project
Bump Bazel version to 3.5.0
Change-Id: I1d70c08c61a78a4a33b77ef9773e76e6c61dbcfc
diff --git a/WORKSPACE b/WORKSPACE
index de03f22..8cece2c 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -12,7 +12,7 @@
"gerrit_api",
)
-gerrit_api()
+gerrit_api(version = "3.3.0-SNAPSHOT")
load("//:external_plugin_deps.bzl", "external_plugin_deps")
diff --git a/src/main/java/com/googlesource/gerrit/plugins/renameproject/LockUnlockProject.java b/src/main/java/com/googlesource/gerrit/plugins/renameproject/LockUnlockProject.java
index 8904144..91f4d9e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/renameproject/LockUnlockProject.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/renameproject/LockUnlockProject.java
@@ -44,11 +44,11 @@
MetaDataUpdate md = metaDataUpdateFactory.create(key);
ProjectConfig projectConfig = projectConfigFactory.read(md);
- Project p = projectConfig.getProject();
- p.setState(ProjectState.READ_ONLY);
+ projectConfig.updateProject(project -> project.setState(ProjectState.READ_ONLY));
md.setMessage(String.format("Lock project while renaming the project %s\n", key.get()));
projectConfig.commit(md);
+ Project p = projectConfig.getProject();
projectCache.evict(p);
}
@@ -56,11 +56,11 @@
MetaDataUpdate md = metaDataUpdateFactory.create(key);
ProjectConfig projectConfig = projectConfigFactory.read(md);
- Project p = projectConfig.getProject();
- p.setState(ProjectState.ACTIVE);
+ projectConfig.updateProject(project -> project.setState(ProjectState.ACTIVE));
md.setMessage(String.format("Unlock project after renaming the project to %s\n", key.get()));
projectConfig.commit(md);
+ Project p = projectConfig.getProject();
projectCache.evict(p);
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditions.java b/src/main/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditions.java
index cab2957..b20f365 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditions.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditions.java
@@ -115,7 +115,7 @@
}
SubmoduleOp sub = subOpFactory.create(branches, orm);
for (BranchNameKey b : branches) {
- if (!sub.superProjectSubscriptionsForSubmoduleBranch(b).isEmpty()) {
+ if (sub.hasSuperproject(b)) {
String message = "Cannot rename a project subscribed to by the other projects";
log.error(message);
throw new CannotRenameProjectException(message);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/renameproject/database/DatabaseRenameHandler.java b/src/main/java/com/googlesource/gerrit/plugins/renameproject/database/DatabaseRenameHandler.java
index 7019327..7afbf11 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/renameproject/database/DatabaseRenameHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/renameproject/database/DatabaseRenameHandler.java
@@ -18,11 +18,11 @@
import com.google.common.collect.ImmutableSet;
import com.google.gerrit.entities.Account;
import com.google.gerrit.entities.Change;
+import com.google.gerrit.entities.NotifyConfig.NotifyType;
import com.google.gerrit.entities.Project;
import com.google.gerrit.server.ServerInitiated;
import com.google.gerrit.server.account.AccountState;
import com.google.gerrit.server.account.AccountsUpdate;
-import com.google.gerrit.server.account.ProjectWatches.NotifyType;
import com.google.gerrit.server.account.ProjectWatches.ProjectWatchKey;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.ChangeNotes;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/renameproject/RevertRenameProjectTest.java b/src/test/java/com/googlesource/gerrit/plugins/renameproject/RevertRenameProjectTest.java
index f33829d..8330748 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/renameproject/RevertRenameProjectTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/renameproject/RevertRenameProjectTest.java
@@ -126,6 +126,8 @@
}
private void assertReverted() throws Exception {
+ evictCaches();
+
Optional<ProjectState> oldProjectState = projectCache.get(oldProjectKey);
assertThat(oldProjectState.isPresent()).isTrue();
@@ -137,6 +139,8 @@
}
private void assertRenamed(Result result) throws Exception {
+ evictCaches();
+
Optional<ProjectState> oldProjectState = projectCache.get(oldProjectKey);
assertThat(oldProjectState.isPresent()).isFalse();
@@ -153,4 +157,9 @@
assertThat(queryProvider.get().byProject(oldProjectKey)).isEmpty();
}
}
+
+ private void evictCaches() {
+ projectCache.evict(oldProjectKey);
+ projectCache.evict(newProjectKey);
+ }
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/renameproject/SubmoduleUtil.java b/src/test/java/com/googlesource/gerrit/plugins/renameproject/SubmoduleUtil.java
index be4dc37..fd59126 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/renameproject/SubmoduleUtil.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/renameproject/SubmoduleUtil.java
@@ -16,8 +16,8 @@
import static com.google.common.truth.Truth.assertThat;
-import com.google.gerrit.common.data.SubscribeSection;
import com.google.gerrit.entities.Project.NameKey;
+import com.google.gerrit.entities.SubscribeSection;
import com.google.gerrit.server.git.meta.MetaDataUpdate;
import com.google.gerrit.server.git.meta.MetaDataUpdate.Server;
import com.google.gerrit.server.project.ProjectCache;
@@ -54,12 +54,12 @@
throws Exception {
try (MetaDataUpdate md = metaDataUpdateFactory.create(sub)) {
md.setMessage("Added superproject subscription");
- SubscribeSection s;
+ SubscribeSection.Builder s;
ProjectConfig pc = projectConfigFactory.read(md);
if (pc.getSubscribeSections().containsKey(superName)) {
- s = pc.getSubscribeSections().get(superName);
+ s = pc.getSubscribeSections().get(superName).toBuilder();
} else {
- s = new SubscribeSection(superName);
+ s = SubscribeSection.builder(superName);
}
String refspec;
if (superBranch == null) {
@@ -72,7 +72,7 @@
} else {
s.addMultiMatchRefSpec(refspec);
}
- pc.addSubscribeSection(s);
+ pc.addSubscribeSection(s.build());
ObjectId oldId = pc.getRevision();
ObjectId newId = pc.commit(md);
assertThat(newId).isNotEqualTo(oldId);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditionsTest.java b/src/test/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditionsTest.java
index adc0791..989292b 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditionsTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditionsTest.java
@@ -89,7 +89,7 @@
@Test(expected = CannotRenameProjectException.class)
public void testAssertCannotRenameAllProjects() throws Exception {
- Project oldProject = new Project(allProjects);
+ Project oldProject = Project.builder(allProjects).build();
when(oldRsrc.getNameKey()).thenReturn(oldProject.getNameKey());
when(objDb.exists()).thenReturn(false);
@@ -98,7 +98,7 @@
@Test(expected = CannotRenameProjectException.class)
public void testAssertCannotRenameAllUsers() throws Exception {
- Project oldProject = new Project(allUsersName);
+ Project oldProject = Project.builder(allUsersName).build();
when(oldRsrc.getNameKey()).thenReturn(oldProject.getNameKey());
when(objDb.exists()).thenReturn(false);
@@ -107,7 +107,7 @@
@Test(expected = CannotRenameProjectException.class)
public void testAssertCannotRenameHasChildren() throws Exception {
- Project oldProject = new Project(Project.nameKey("oldProject"));
+ Project oldProject = Project.builder(Project.nameKey("oldProject")).build();
when(oldRsrc.getNameKey()).thenReturn(oldProject.getNameKey());
when(objDb.exists()).thenReturn(false);