diff options
author | Dmitrii Filippov <dmfilippov@google.com> | 2023-04-12 16:01:16 +0200 |
---|---|---|
committer | Paladox none <thomasmulhall410@yahoo.com> | 2023-04-13 19:38:00 +0000 |
commit | d7eabdae95d6ea72ff7ad1f4b8c9587089cf0763 (patch) | |
tree | fa899f22ddb8b123406c7dff24c09b6006042a01 | |
parent | 544fe9b1018ed3d5346856f83ce5f2d190ff6308 (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.java | 15 | ||||
-rw-r--r-- | javatests/com/google/gerrit/acceptance/api/change/RevertIT.java | 29 |
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. |