summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitrii Filippov <dmfilippov@google.com>2023-04-12 16:01:16 +0200
committerPaladox none <thomasmulhall410@yahoo.com>2023-04-13 19:38:00 +0000
commitd7eabdae95d6ea72ff7ad1f4b8c9587089cf0763 (patch)
treefa899f22ddb8b123406c7dff24c09b6006042a01
parent544fe9b1018ed3d5346856f83ce5f2d190ff6308 (diff)
Add tests for test cases broken by the change 363005.
New tests are not passed in this change, but they will be fixed by the revert made in the next change in the chain. Change-Id: Ib5aa155959fe82212bc6f63e63b010cdffc733b0 Release-Notes: skip (cherry picked from commit 6405efa2ef30f1e34b078d0e6c1b87890d2077eb)
-rw-r--r--javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java15
-rw-r--r--javatests/com/google/gerrit/acceptance/api/change/RevertIT.java29
2 files changed, 44 insertions, 0 deletions
diff --git a/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java b/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
index 393dacfceb..b5c9aab09a 100644
--- a/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
@@ -666,6 +666,21 @@ public class ChangeIT extends AbstractDaemonTest {
}
@Test
+ public void reviewRemoveInactiveReviewer() throws Exception {
+ PushOneCommit.Result r = createChange();
+ ReviewInput in = ReviewInput.approve().reviewer(user.email());
+ gApi.changes().id(r.getChangeId()).current().review(in);
+
+ accountOperations.account(user.id()).forUpdate().inactive().update();
+ in = ReviewInput.noScore().reviewer(Integer.toString(user.id().get()), REMOVED, false);
+
+ gApi.changes().id(r.getChangeId()).current().review(in);
+ ChangeInfo info = gApi.changes().id(r.getChangeId()).get();
+ assertThat(info.reviewers.get(REVIEWER).stream().map(ai -> ai._accountId).collect(toList()))
+ .containsExactly(admin.id().get());
+ }
+
+ @Test
public void reviewWithWorkInProgressAndReadyReturnsError() throws Exception {
PushOneCommit.Result r = createChange();
ReviewInput in = ReviewInput.noScore();
diff --git a/javatests/com/google/gerrit/acceptance/api/change/RevertIT.java b/javatests/com/google/gerrit/acceptance/api/change/RevertIT.java
index 0af1c03428..4855ba4b0b 100644
--- a/javatests/com/google/gerrit/acceptance/api/change/RevertIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/change/RevertIT.java
@@ -29,6 +29,7 @@ import com.google.gerrit.acceptance.PushOneCommit;
import com.google.gerrit.acceptance.TestAccount;
import com.google.gerrit.acceptance.TestProjectInput;
import com.google.gerrit.acceptance.config.GerritConfig;
+import com.google.gerrit.acceptance.testsuite.account.AccountOperations;
import com.google.gerrit.acceptance.testsuite.project.ProjectOperations;
import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
import com.google.gerrit.entities.BranchNameKey;
@@ -73,6 +74,7 @@ public class RevertIT extends AbstractDaemonTest {
@Inject private ProjectOperations projectOperations;
@Inject private RequestScopeOperations requestScopeOperations;
@Inject private ExtensionRegistry extensionRegistry;
+ @Inject private AccountOperations accountOperations;
@Test
public void pureRevertReturnsTrueForPureRevert() throws Exception {
@@ -376,6 +378,33 @@ public class RevertIT extends AbstractDaemonTest {
}
@Test
+ public void revertAllowedIfUserAccountIsInactive() throws Exception {
+ PushOneCommit.Result r = createChange();
+ ReviewInput in = ReviewInput.approve();
+ in.reviewer(user.email());
+ in.reviewer(accountCreator.user2().email(), ReviewerState.CC, true);
+ // Add user as reviewer that will create the revert
+ in.reviewer(accountCreator.admin2().email());
+ gApi.changes().id(r.getChangeId()).revision(r.getCommit().name()).review(in);
+ gApi.changes().id(r.getChangeId()).revision(r.getCommit().name()).submit();
+
+ accountOperations.account(user.id()).forUpdate().inactive().update();
+ accountOperations.account(accountCreator.user2().id()).forUpdate().inactive().update();
+
+ requestScopeOperations.setApiUser(accountCreator.admin2().id());
+ Map<ReviewerState, Collection<AccountInfo>> result =
+ gApi.changes().id(r.getChangeId()).revert().get().reviewers;
+ assertThat(result).containsKey(ReviewerState.REVIEWER);
+
+ // The active user should be preserved as reviewer. For inactive user this test doesn't
+ // fix specific behavior - they can be either preserved or removed depending on the
+ // implementation.
+ List<Integer> reviewers =
+ result.get(ReviewerState.REVIEWER).stream().map(a -> a._accountId).collect(toList());
+ assertThat(reviewers).contains(admin.id().get());
+ }
+
+ @Test
@GerritConfig(name = "accounts.visibility", value = "SAME_GROUP")
public void revertWithNonVisibleUsers() throws Exception {
// Define readable names for the users we use in this test.