From 27111dfd7d464bccff773e96c9d26d02e3821f90 Mon Sep 17 00:00:00 2001 From: Patrick Hiesel Date: Wed, 19 Apr 2017 09:59:24 +0200 Subject: [PATCH] Add tests for notify_details Change-Id: Ice58a13418b776c3881a9df067e5f7bc4aca40de --- .../rest/change/ChangeReviewersIT.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java index 846c580f20..0809bf2873 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/ChangeReviewersIT.java @@ -23,12 +23,17 @@ import static com.google.gerrit.extensions.client.ReviewerState.REVIEWER; import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import static javax.servlet.http.HttpServletResponse.SC_OK; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.gerrit.acceptance.AbstractDaemonTest; import com.google.gerrit.acceptance.PushOneCommit; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.acceptance.TestAccount; import com.google.gerrit.extensions.api.changes.AddReviewerInput; import com.google.gerrit.extensions.api.changes.AddReviewerResult; +import com.google.gerrit.extensions.api.changes.NotifyHandling; +import com.google.gerrit.extensions.api.changes.NotifyInfo; +import com.google.gerrit.extensions.api.changes.RecipientType; import com.google.gerrit.extensions.api.changes.ReviewInput; import com.google.gerrit.extensions.api.changes.ReviewResult; import com.google.gerrit.extensions.client.ReviewerState; @@ -681,6 +686,40 @@ public class ChangeReviewersIT extends AbstractDaemonTest { assertThat(changeLabels.get(crLabel).all).isNull(); } + @Test + public void notifyDetailsWorkOnPostReview() throws Exception { + PushOneCommit.Result r = createChange(); + TestAccount userToNotify = createAccounts(1, "notify-details-post-review").get(0); + + ReviewInput reviewInput = new ReviewInput(); + reviewInput.reviewer(user.email, ReviewerState.REVIEWER, true); + reviewInput.notify = NotifyHandling.NONE; + reviewInput.notifyDetails = + ImmutableMap.of(RecipientType.TO, new NotifyInfo(ImmutableList.of(userToNotify.email))); + + sender.clear(); + gApi.changes().id(r.getChangeId()).current().review(reviewInput); + assertThat(sender.getMessages()).hasSize(1); + assertThat(sender.getMessages().get(0).rcpt()).containsExactly(userToNotify.emailAddress); + } + + @Test + public void notifyDetailsWorkOnPostReviewers() throws Exception { + PushOneCommit.Result r = createChange(); + TestAccount userToNotify = createAccounts(1, "notify-details-post-reviewers").get(0); + + AddReviewerInput addReviewer = new AddReviewerInput(); + addReviewer.reviewer = user.email; + addReviewer.notify = NotifyHandling.NONE; + addReviewer.notifyDetails = + ImmutableMap.of(RecipientType.TO, new NotifyInfo(ImmutableList.of(userToNotify.email))); + + sender.clear(); + gApi.changes().id(r.getChangeId()).addReviewer(addReviewer); + assertThat(sender.getMessages()).hasSize(1); + assertThat(sender.getMessages().get(0).rcpt()).containsExactly(userToNotify.emailAddress); + } + private AddReviewerResult addReviewer(String changeId, String reviewer) throws Exception { return addReviewer(changeId, reviewer, SC_OK); }