Merge "Don't import Id/Key/NameKey directly"
diff --git a/src/main/java/com/googlesource/gerrit/plugins/automerger/AutomergeChangeAction.java b/src/main/java/com/googlesource/gerrit/plugins/automerger/AutomergeChangeAction.java
index de7348e..79498df 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/automerger/AutomergeChangeAction.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/automerger/AutomergeChangeAction.java
@@ -62,7 +62,7 @@
* @throws StorageException
*/
@Override
- public Object apply(RevisionResource rev, Input input)
+ public Response<?> apply(RevisionResource rev, Input input)
throws IOException, RestApiException, StorageException, ConfigInvalidException {
Map<String, Boolean> branchMap = input.branchMap;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
index 4cf9c22..034bb87 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
@@ -56,16 +56,13 @@
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RefNames;
import com.google.gerrit.server.group.SystemGroupBackend;
-import com.google.gerrit.testing.TestTimeUtil;
import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.automerger.helpers.ConfigOption;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-import java.util.concurrent.TimeUnit;
import org.eclipse.jgit.internal.storage.dfs.InMemoryRepository;
import org.eclipse.jgit.junit.TestRepository;
import org.eclipse.jgit.lib.Config;
@@ -112,7 +109,7 @@
assertAutomergerChangeCreatedMessage(dsTwoChangeInfo.id);
ChangeInfo masterChangeInfo = sortedChanges.get(2);
- assertCodeReview(masterChangeInfo.id, 0, null);
+ assertCodeReviewMissing(masterChangeInfo.id);
assertThat(masterChangeInfo.branch).isEqualTo("master");
// Ensure that commit subjects are correct
@@ -226,75 +223,6 @@
}
@Test
- public void testDiamondMerge_identicalDiamondSides() throws Exception {
- Project.NameKey manifestNameKey = defaultSetup();
- // Create initial change
- PushOneCommit.Result initialResult = createChange("subject", "filename", "echo Hello");
- // Project name is scoped by test, so we need to get it from our initial change
- String projectName = initialResult.getChange().project().get();
- createBranch(BranchNameKey.create(projectName, "left"));
- createBranch(BranchNameKey.create(projectName, "right"));
- initialResult.assertOkStatus();
- merge(initialResult);
-
- String leftRevision = gApi.projects().name(projectName).branch("left").get().revision;
- String rightRevision = gApi.projects().name(projectName).branch("right").get().revision;
- // For this test, right == left
- assertThat(leftRevision).isEqualTo(rightRevision);
- createBranch(BranchNameKey.create(projectName, "bottom"));
- pushDiamondConfig(manifestNameKey.get(), projectName);
-
- // Freeze time so that the merge commit from left->bottom and right->bottom have same SHA
- TestTimeUtil.resetWithClockStep(0, TimeUnit.MILLISECONDS);
- TestTimeUtil.setClock(new Timestamp(TestTimeUtil.START.toEpochMilli()));
- // After we upload our config, we upload a new patchset to create the downstreams.
- PushOneCommit.Result result =
- createChange(testRepo, "master", "subject", "filename2", "echo Hello", "sometopic");
- TestTimeUtil.useSystemTime();
- result.assertOkStatus();
-
- List<ChangeInfo> changesInTopic =
- gApi.changes()
- .query("topic: " + gApi.changes().id(result.getChangeId()).topic())
- .withOption(CURRENT_REVISION)
- .get();
- assertThat(changesInTopic).hasSize(4);
- // +2 and submit
- merge(result);
- List<ChangeInfo> sortedChanges = sortedChanges(changesInTopic);
-
- // Should create two changes on bottom, since left and right are different.
- ChangeInfo bottomChangeInfo = sortedChanges.get(0);
- assertThat(bottomChangeInfo.branch).isEqualTo("bottom");
- assertCodeReview(bottomChangeInfo.id, 2, "autogenerated:Automerger");
-
- ChangeInfo leftChangeInfo = sortedChanges.get(1);
- assertThat(leftChangeInfo.branch).isEqualTo("left");
- assertCodeReview(leftChangeInfo.id, 2, "autogenerated:Automerger");
-
- ChangeInfo masterChangeInfo = sortedChanges.get(2);
- assertThat(masterChangeInfo.branch).isEqualTo("master");
- assertCodeReview(masterChangeInfo.id, 2, null);
-
- ChangeInfo rightChangeInfo = sortedChanges.get(3);
- assertThat(rightChangeInfo.branch).isEqualTo("right");
- assertCodeReview(rightChangeInfo.id, 2, "autogenerated:Automerger");
-
- // Ensure that commit subjects are correct
- String masterSubject = masterChangeInfo.subject;
- String shortMasterSha = masterChangeInfo.currentRevision.substring(0, 10);
- String shortLeftSha = leftChangeInfo.currentRevision.substring(0, 10);
- assertThat(masterChangeInfo.subject).doesNotContainMatch("automerger");
- assertThat(leftChangeInfo.subject)
- .isEqualTo("[automerger] " + masterSubject + " am: " + shortMasterSha);
- assertThat(rightChangeInfo.subject)
- .isEqualTo("[automerger] " + masterSubject + " am: " + shortMasterSha);
- assertThat(bottomChangeInfo.subject)
- .isEqualTo(
- "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortLeftSha);
- }
-
- @Test
public void testChangeStack() throws Exception {
Project.NameKey manifestNameKey = defaultSetup();
// Create initial change
@@ -454,7 +382,7 @@
assertThat(dsTwoContent.asString()).isEqualTo(content.asString());
ChangeInfo masterChangeInfo = sortedChanges.get(2);
- assertCodeReview(masterChangeInfo.id, 0, null);
+ assertCodeReviewMissing(masterChangeInfo.id);
assertThat(masterChangeInfo.branch).isEqualTo("master");
// Ensure that commit subjects are correct
@@ -514,7 +442,7 @@
assertThat(dsTwoChange.current().files().get("filename").linesDeleted).isEqualTo(1);
ChangeInfo masterChangeInfo = sortedChanges.get(2);
- assertCodeReview(masterChangeInfo.id, 0, null);
+ assertCodeReviewMissing(masterChangeInfo.id);
assertThat(masterChangeInfo.branch).isEqualTo("master");
// Ensure that commit subjects are correct
@@ -646,8 +574,8 @@
assertAutomergerChangeCreatedMessage(dsTwoChangeInfo.id);
ChangeInfo masterChangeInfo = sortedChanges.get(1);
- // This is 0 because the -2 vote on master failed due to permissions
- assertCodeReview(masterChangeInfo.id, 0, null);
+ // This is not set because the -2 vote on master failed due to permissions
+ assertCodeReviewMissing(masterChangeInfo.id);
assertThat(masterChangeInfo.branch).isEqualTo("master");
assertThat(getLastMessage(masterChangeInfo.id).tag).isEqualTo("autogenerated:MergeConflict");
@@ -845,10 +773,10 @@
List<ChangeInfo> sortedChanges = sortedChanges(changesInTopic);
- // Check that downstream is at Code-Review 0
+ // Check that downstream has no Code-Review
ChangeInfo dsOneChangeInfo = sortedChanges.get(0);
assertThat(dsOneChangeInfo.branch).isEqualTo("ds_one");
- assertCodeReview(dsOneChangeInfo.id, 0, null);
+ assertCodeReviewMissing(dsOneChangeInfo.id);
// Try to +2 master and see it succeed to +2 master and ds_one
ChangeInfo masterChangeInfo = sortedChanges.get(2);
@@ -911,10 +839,10 @@
List<ChangeInfo> sortedChanges = sortedChanges(changesInTopic);
- // Check that downstream is at Code-Review 0
+ // Check that downstream has no Code-Review
ChangeInfo dsOneChangeInfo = sortedChanges.get(0);
assertThat(dsOneChangeInfo.branch).isEqualTo("ds_one");
- assertCodeReview(dsOneChangeInfo.id, 0, null);
+ assertCodeReviewMissing(dsOneChangeInfo.id);
// Try to +1 master and see it succeed to +1 master and ds_one
ChangeInfo masterChangeInfo = sortedChanges.get(2);