diff options
Diffstat (limited to 'gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/mail/MailProcessorIT.java')
-rw-r--r-- | gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/mail/MailProcessorIT.java | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/mail/MailProcessorIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/mail/MailProcessorIT.java deleted file mode 100644 index 9de4797312..0000000000 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/mail/MailProcessorIT.java +++ /dev/null @@ -1,229 +0,0 @@ -// Copyright (C) 2016 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.acceptance.server.mail; - -import static com.google.common.truth.Truth.assertThat; - -import com.google.common.collect.Iterables; -import com.google.gerrit.extensions.common.ChangeInfo; -import com.google.gerrit.extensions.common.ChangeMessageInfo; -import com.google.gerrit.extensions.common.CommentInfo; -import com.google.gerrit.server.mail.MailUtil; -import com.google.gerrit.server.mail.receive.MailMessage; -import com.google.gerrit.server.mail.receive.MailProcessor; -import com.google.inject.Inject; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Collection; -import java.util.List; -import org.junit.Test; - -public class MailProcessorIT extends AbstractMailIT { - @Inject private MailProcessor mailProcessor; - - @Test - public void parseAndPersistChangeMessage() throws Exception { - String changeId = createChangeWithReview(); - ChangeInfo changeInfo = gApi.changes().id(changeId).get(); - List<CommentInfo> comments = gApi.changes().id(changeId).current().commentsAsList(); - String ts = - MailUtil.rfcDateformatter.format( - ZonedDateTime.ofInstant(comments.get(0).updated.toInstant(), ZoneId.of("UTC"))); - - // Build Message - MailMessage.Builder b = messageBuilderWithDefaultFields(); - String txt = - newPlaintextBody( - canonicalWebUrl.get() + "#/c/" + changeInfo._number + "/1", - "Test Message", - null, - null, - null); - b.textContent(txt + textFooterForChange(changeInfo._number, ts)); - - mailProcessor.process(b.build()); - - Collection<ChangeMessageInfo> messages = gApi.changes().id(changeId).get().messages; - assertThat(messages).hasSize(3); - assertThat(Iterables.getLast(messages).message).isEqualTo("Patch Set 1:\n\nTest Message"); - assertThat(Iterables.getLast(messages).tag).isEqualTo("mailMessageId=some id"); - } - - @Test - public void parseAndPersistInlineComment() throws Exception { - String changeId = createChangeWithReview(); - ChangeInfo changeInfo = gApi.changes().id(changeId).get(); - List<CommentInfo> comments = gApi.changes().id(changeId).current().commentsAsList(); - String ts = - MailUtil.rfcDateformatter.format( - ZonedDateTime.ofInstant(comments.get(0).updated.toInstant(), ZoneId.of("UTC"))); - - // Build Message - MailMessage.Builder b = messageBuilderWithDefaultFields(); - String txt = - newPlaintextBody( - canonicalWebUrl.get() + "#/c/" + changeInfo._number + "/1", - null, - "Some Inline Comment", - null, - null); - b.textContent(txt + textFooterForChange(changeInfo._number, ts)); - - mailProcessor.process(b.build()); - - // Assert messages - Collection<ChangeMessageInfo> messages = gApi.changes().id(changeId).get().messages; - assertThat(messages).hasSize(3); - assertThat(Iterables.getLast(messages).message).isEqualTo("Patch Set 1:\n\n(1 comment)"); - assertThat(Iterables.getLast(messages).tag).isEqualTo("mailMessageId=some id"); - - // Assert comment - comments = gApi.changes().id(changeId).current().commentsAsList(); - assertThat(comments).hasSize(3); - assertThat(comments.get(2).message).isEqualTo("Some Inline Comment"); - assertThat(comments.get(2).tag).isEqualTo("mailMessageId=some id"); - assertThat(comments.get(2).inReplyTo).isEqualTo(comments.get(1).id); - } - - @Test - public void parseAndPersistFileComment() throws Exception { - String changeId = createChangeWithReview(); - ChangeInfo changeInfo = gApi.changes().id(changeId).get(); - List<CommentInfo> comments = gApi.changes().id(changeId).current().commentsAsList(); - String ts = - MailUtil.rfcDateformatter.format( - ZonedDateTime.ofInstant(comments.get(0).updated.toInstant(), ZoneId.of("UTC"))); - - // Build Message - MailMessage.Builder b = messageBuilderWithDefaultFields(); - String txt = - newPlaintextBody( - canonicalWebUrl.get() + "#/c/" + changeInfo._number + "/1", - null, - null, - "Some Comment on File 1", - null); - b.textContent(txt + textFooterForChange(changeInfo._number, ts)); - - mailProcessor.process(b.build()); - - // Assert messages - Collection<ChangeMessageInfo> messages = gApi.changes().id(changeId).get().messages; - assertThat(messages).hasSize(3); - assertThat(Iterables.getLast(messages).message).isEqualTo("Patch Set 1:\n\n(1 comment)"); - assertThat(Iterables.getLast(messages).tag).isEqualTo("mailMessageId=some id"); - - // Assert comment - comments = gApi.changes().id(changeId).current().commentsAsList(); - assertThat(comments).hasSize(3); - assertThat(comments.get(0).message).isEqualTo("Some Comment on File 1"); - assertThat(comments.get(0).inReplyTo).isNull(); - assertThat(comments.get(0).tag).isEqualTo("mailMessageId=some id"); - assertThat(comments.get(0).path).isEqualTo("gerrit-server/test.txt"); - } - - @Test - public void parseAndPersistMessageTwice() throws Exception { - String changeId = createChangeWithReview(); - ChangeInfo changeInfo = gApi.changes().id(changeId).get(); - List<CommentInfo> comments = gApi.changes().id(changeId).current().commentsAsList(); - String ts = - MailUtil.rfcDateformatter.format( - ZonedDateTime.ofInstant(comments.get(0).updated.toInstant(), ZoneId.of("UTC"))); - - // Build Message - MailMessage.Builder b = messageBuilderWithDefaultFields(); - String txt = - newPlaintextBody( - canonicalWebUrl.get() + "#/c/" + changeInfo._number + "/1", - null, - "Some Inline Comment", - null, - null); - b.textContent(txt + textFooterForChange(changeInfo._number, ts)); - - mailProcessor.process(b.build()); - comments = gApi.changes().id(changeId).current().commentsAsList(); - assertThat(comments).hasSize(3); - - // Check that the comment has not been persisted a second time - mailProcessor.process(b.build()); - comments = gApi.changes().id(changeId).current().commentsAsList(); - assertThat(comments).hasSize(3); - } - - @Test - public void parseAndPersistMessageFromInactiveAccount() throws Exception { - String changeId = createChangeWithReview(); - ChangeInfo changeInfo = gApi.changes().id(changeId).get(); - List<CommentInfo> comments = gApi.changes().id(changeId).current().commentsAsList(); - String ts = - MailUtil.rfcDateformatter.format( - ZonedDateTime.ofInstant(comments.get(0).updated.toInstant(), ZoneId.of("UTC"))); - assertThat(comments).hasSize(2); - - // Build Message - MailMessage.Builder b = messageBuilderWithDefaultFields(); - String txt = - newPlaintextBody( - canonicalWebUrl.get() + "#/c/" + changeInfo._number + "/1", - null, - "Some Inline Comment", - null, - null); - b.textContent(txt + textFooterForChange(changeInfo._number, ts)); - - // Set account state to inactive - gApi.accounts().id("user").setActive(false); - - mailProcessor.process(b.build()); - comments = gApi.changes().id(changeId).current().commentsAsList(); - - // Check that comment size has not changed - assertThat(comments).hasSize(2); - - // Reset - gApi.accounts().id("user").setActive(true); - } - - @Test - public void sendNotificationAfterPersistingComments() throws Exception { - String changeId = createChangeWithReview(); - ChangeInfo changeInfo = gApi.changes().id(changeId).get(); - List<CommentInfo> comments = gApi.changes().id(changeId).current().commentsAsList(); - assertThat(comments).hasSize(2); - String ts = - MailUtil.rfcDateformatter.format( - ZonedDateTime.ofInstant(comments.get(0).updated.toInstant(), ZoneId.of("UTC"))); - - // Build Message - String txt = - newPlaintextBody( - canonicalWebUrl.get() + "#/c/" + changeInfo._number + "/1", - "Test Message", - null, - null, - null); - MailMessage.Builder b = - messageBuilderWithDefaultFields() - .from(user.emailAddress) - .textContent(txt + textFooterForChange(changeInfo._number, ts)); - - sender.clear(); - mailProcessor.process(b.build()); - - assertNotifyTo(admin); - } -} |