MAILBOX-363 MessageMoveEvent can now be in `mailbox/api`
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d04e6550 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d04e6550 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d04e6550 Branch: refs/heads/master Commit: d04e655063ac3a2b2dce13ebdab8dd8e145d5a61 Parents: 9cf3186 Author: Benoit Tellier <[email protected]> Authored: Mon Dec 17 09:10:37 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Tue Dec 18 14:49:59 2018 +0700 ---------------------------------------------------------------------- .../apache/james/mailbox/MessageMoveEvent.java | 117 ++++++++++++++ .../james/mailbox/MessageMoveEventTest.java | 157 +++++++++++++++++++ .../spamassassin/SpamAssassinListener.java | 2 +- .../spamassassin/SpamAssassinListenerTest.java | 2 +- .../james/mailbox/store/event/EventFactory.java | 1 + .../store/event/MailboxEventDispatcher.java | 1 + .../mailbox/store/event/MessageMoveEvent.java | 119 -------------- .../store/event/MessageMoveEventTest.java | 157 ------------------- 8 files changed, 278 insertions(+), 278 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/api/src/main/java/org/apache/james/mailbox/MessageMoveEvent.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageMoveEvent.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageMoveEvent.java new file mode 100644 index 0000000..226ae47 --- /dev/null +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageMoveEvent.java @@ -0,0 +1,117 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you 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 org.apache.james.mailbox; + +import java.util.Collection; + +import org.apache.james.core.User; +import org.apache.james.mailbox.model.MailboxId; +import org.apache.james.mailbox.model.MessageId; +import org.apache.james.mailbox.model.MessageMoves; + +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +public class MessageMoveEvent implements Event { + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ImmutableList.Builder<MessageId> messageIds; + private User user; + private MessageMoves messageMoves; + + private Builder() { + messageIds = ImmutableList.builder(); + } + + public Builder session(MailboxSession session) { + this.user = session.getUser(); + return this; + } + + public Builder user(User user) { + this.user = user; + return this; + } + + public Builder messageMoves(MessageMoves messageMoves) { + this.messageMoves = messageMoves; + return this; + } + + public Builder messageId(MessageId messageId) { + this.messageIds.add(messageId); + return this; + } + + public Builder messageId(Collection<MessageId> messageIds) { + this.messageIds.addAll(messageIds); + return this; + } + + public MessageMoveEvent build() { + Preconditions.checkNotNull(user, "'user' is mandatory"); + Preconditions.checkNotNull(messageMoves, "'messageMoves' is mandatory"); + + return new MessageMoveEvent(user, messageMoves, messageIds.build()); + } + } + + private final User user; + private final MessageMoves messageMoves; + private final Collection<MessageId> messageIds; + + @VisibleForTesting + MessageMoveEvent(User user, MessageMoves messageMoves, Collection<MessageId> messageIds) { + this.user = user; + this.messageMoves = messageMoves; + this.messageIds = messageIds; + } + + public boolean isNoop() { + return messageIds.isEmpty(); + } + + public Collection<MessageId> getMessageIds() { + return messageIds; + } + + @Override + public User getUser() { + return user; + } + + public MessageMoves getMessageMoves() { + return messageMoves; + } + + public boolean isMoveTo(MailboxId mailboxId) { + return messageMoves.addedMailboxIds() + .contains(mailboxId); + } + + public boolean isMoveFrom(MailboxId mailboxId) { + return messageMoves.removedMailboxIds() + .contains(mailboxId); + } +} http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/api/src/test/java/org/apache/james/mailbox/MessageMoveEventTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MessageMoveEventTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MessageMoveEventTest.java new file mode 100644 index 0000000..1d217ee --- /dev/null +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MessageMoveEventTest.java @@ -0,0 +1,157 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you 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 org.apache.james.mailbox; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import org.apache.james.core.User; +import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.MailboxSessionUtil; +import org.apache.james.mailbox.model.MessageMoves; +import org.apache.james.mailbox.model.TestId; +import org.apache.james.mailbox.model.TestMessageId; +import org.assertj.core.api.JUnitSoftAssertions; +import org.junit.Rule; +import org.junit.Test; + +public class MessageMoveEventTest { + + @Rule + public JUnitSoftAssertions softly = new JUnitSoftAssertions(); + + @Test + public void builderShouldThrowWhenSessionIsNull() { + assertThatThrownBy(() -> MessageMoveEvent.builder() + .build()) + .isInstanceOf(NullPointerException.class); + } + + @Test + public void builderShouldThrowWhenMessageMovesIsNull() { + assertThatThrownBy(() -> MessageMoveEvent.builder() + .session(MailboxSessionUtil.create("[email protected]")) + .build()) + .isInstanceOf(NullPointerException.class); + } + + @Test + public void builderShouldReturnNoopWhenMessagesIsEmpty() { + assertThat(MessageMoveEvent.builder() + .session(MailboxSessionUtil.create("[email protected]")) + .messageMoves(MessageMoves.builder() + .previousMailboxIds(TestId.of(1)) + .targetMailboxIds(TestId.of(2)) + .build()) + .build() + .isNoop()).isTrue(); + } + + @Test + public void builderShouldNotBeNoopWhenFieldsAreGiven() { + MailboxSession session = MailboxSessionUtil.create("[email protected]"); + MessageMoves messageMoves = MessageMoves.builder() + .targetMailboxIds(TestId.of(2)) + .previousMailboxIds(TestId.of(1)) + .build(); + + MessageMoveEvent event = MessageMoveEvent.builder() + .session(session) + .messageMoves(messageMoves) + .messageId(TestMessageId.of(35)) + .build(); + + assertThat(event.isNoop()).isFalse(); + } + + @Test + public void builderShouldBuildWhenFieldsAreGiven() { + String username = "[email protected]"; + MailboxSession session = MailboxSessionUtil.create(username); + MessageMoves messageMoves = MessageMoves.builder() + .targetMailboxIds(TestId.of(2)) + .previousMailboxIds(TestId.of(1)) + .build(); + + TestMessageId messageId = TestMessageId.of(45); + MessageMoveEvent event = MessageMoveEvent.builder() + .session(session) + .messageMoves(messageMoves) + .messageId(messageId) + .build(); + + softly.assertThat(event.getUser()).isEqualTo(User.fromUsername(username)); + softly.assertThat(event.getMessageMoves()).isEqualTo(messageMoves); + softly.assertThat(event.getMessageIds()).containsExactly(messageId); + } + + @Test + public void isMoveToShouldReturnFalseWhenMailboxIdIsNotInAddedMailboxIds() { + MessageMoveEvent event = MessageMoveEvent.builder() + .session(MailboxSessionUtil.create("[email protected]")) + .messageMoves(MessageMoves.builder() + .previousMailboxIds(TestId.of(1)) + .targetMailboxIds(TestId.of(2)) + .build()) + .build(); + + assertThat(event.isMoveTo(TestId.of(123))).isFalse(); + } + + @Test + public void isMoveToShouldReturnTrueWhenMailboxIdIsInAddedMailboxIds() { + TestId mailboxId = TestId.of(123); + MessageMoveEvent event = MessageMoveEvent.builder() + .session(MailboxSessionUtil.create("[email protected]")) + .messageMoves(MessageMoves.builder() + .previousMailboxIds(TestId.of(1)) + .targetMailboxIds(TestId.of(2), mailboxId) + .build()) + .build(); + + assertThat(event.isMoveTo(mailboxId)).isTrue(); + } + + @Test + public void isMoveFromShouldReturnFalseWhenMailboxIdIsNotInRemovedMailboxIds() { + MessageMoveEvent event = MessageMoveEvent.builder() + .session(MailboxSessionUtil.create("[email protected]")) + .messageMoves(MessageMoves.builder() + .previousMailboxIds(TestId.of(1)) + .targetMailboxIds(TestId.of(2)) + .build()) + .build(); + + assertThat(event.isMoveFrom(TestId.of(123))).isFalse(); + } + + @Test + public void isMoveFromShouldReturnTrueWhenMailboxIdIsInRemovedMailboxIds() { + TestId mailboxId = TestId.of(123); + MessageMoveEvent event = MessageMoveEvent.builder() + .session(MailboxSessionUtil.create("[email protected]")) + .messageMoves(MessageMoves.builder() + .previousMailboxIds(TestId.of(1), mailboxId) + .targetMailboxIds(TestId.of(2)) + .build()) + .build(); + + assertThat(event.isMoveFrom(mailboxId)).isTrue(); + } +} http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java index 56b512c..b6ffcd4 100644 --- a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java +++ b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java @@ -27,13 +27,13 @@ import javax.inject.Inject; import org.apache.james.mailbox.Event; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.MessageMoveEvent; import org.apache.james.mailbox.Role; import org.apache.james.mailbox.SystemMailboxesProvider; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.store.MailboxSessionMapperFactory; -import org.apache.james.mailbox.store.event.MessageMoveEvent; import org.apache.james.mailbox.store.event.SpamEventListener; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java index 13d1516..dba49a6 100644 --- a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java +++ b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java @@ -36,6 +36,7 @@ import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MailboxSessionUtil; +import org.apache.james.mailbox.MessageMoveEvent; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver; import org.apache.james.mailbox.exception.MailboxException; @@ -50,7 +51,6 @@ import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.StoreMailboxManager; import org.apache.james.mailbox.store.SystemMailboxesProviderImpl; import org.apache.james.mailbox.store.event.EventFactory; -import org.apache.james.mailbox.store.event.MessageMoveEvent; import org.apache.james.mailbox.store.mail.MailboxMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder; http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java index fca9602..433bf8f 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java @@ -29,6 +29,7 @@ import org.apache.james.core.quota.QuotaCount; import org.apache.james.core.quota.QuotaSize; import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.MessageMoveEvent; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.acl.ACLDiff; import org.apache.james.mailbox.model.MailboxId; http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java index 4721aa8..1ebe27e 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java @@ -33,6 +33,7 @@ import org.apache.james.core.quota.QuotaSize; import org.apache.james.mailbox.Event; import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.MessageMoveEvent; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.acl.ACLDiff; import org.apache.james.mailbox.model.MailboxId; http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java deleted file mode 100644 index 4b73263..0000000 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you 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 org.apache.james.mailbox.store.event; - -import java.util.Collection; - -import org.apache.james.core.User; -import org.apache.james.mailbox.Event; -import org.apache.james.mailbox.MailboxSession; -import org.apache.james.mailbox.model.MailboxId; -import org.apache.james.mailbox.model.MessageId; -import org.apache.james.mailbox.model.MessageMoves; - -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - -public class MessageMoveEvent implements Event { - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private ImmutableList.Builder<MessageId> messageIds; - private User user; - private MessageMoves messageMoves; - - private Builder() { - messageIds = ImmutableList.builder(); - } - - public Builder session(MailboxSession session) { - this.user = session.getUser(); - return this; - } - - public Builder user(User user) { - this.user = user; - return this; - } - - public Builder messageMoves(MessageMoves messageMoves) { - this.messageMoves = messageMoves; - return this; - } - - public Builder messageId(MessageId messageId) { - this.messageIds.add(messageId); - return this; - } - - public Builder messageId(Collection<MessageId> messageIds) { - this.messageIds.addAll(messageIds); - return this; - } - - public MessageMoveEvent build() { - Preconditions.checkNotNull(user, "'user' is mandatory"); - Preconditions.checkNotNull(messageMoves, "'messageMoves' is mandatory"); - - return new MessageMoveEvent(user, messageMoves, messageIds.build()); - } - } - - private final User user; - private final MessageMoves messageMoves; - private final Collection<MessageId> messageIds; - - @VisibleForTesting - MessageMoveEvent(User user, MessageMoves messageMoves, Collection<MessageId> messageIds) { - this.user = user; - this.messageMoves = messageMoves; - this.messageIds = messageIds; - } - - public boolean isNoop() { - return messageIds.isEmpty(); - } - - public Collection<MessageId> getMessageIds() { - return messageIds; - } - - @Override - public User getUser() { - return user; - } - - public MessageMoves getMessageMoves() { - return messageMoves; - } - - public boolean isMoveTo(MailboxId mailboxId) { - return messageMoves.addedMailboxIds() - .contains(mailboxId); - } - - public boolean isMoveFrom(MailboxId mailboxId) { - return messageMoves.removedMailboxIds() - .contains(mailboxId); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/d04e6550/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MessageMoveEventTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MessageMoveEventTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MessageMoveEventTest.java deleted file mode 100644 index e2737ed..0000000 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MessageMoveEventTest.java +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you 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 org.apache.james.mailbox.store.event; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -import org.apache.james.core.User; -import org.apache.james.mailbox.MailboxSession; -import org.apache.james.mailbox.MailboxSessionUtil; -import org.apache.james.mailbox.model.MessageMoves; -import org.apache.james.mailbox.model.TestId; -import org.apache.james.mailbox.model.TestMessageId; -import org.assertj.core.api.JUnitSoftAssertions; -import org.junit.Rule; -import org.junit.Test; - -public class MessageMoveEventTest { - - @Rule - public JUnitSoftAssertions softly = new JUnitSoftAssertions(); - - @Test - public void builderShouldThrowWhenSessionIsNull() { - assertThatThrownBy(() -> MessageMoveEvent.builder() - .build()) - .isInstanceOf(NullPointerException.class); - } - - @Test - public void builderShouldThrowWhenMessageMovesIsNull() { - assertThatThrownBy(() -> MessageMoveEvent.builder() - .session(MailboxSessionUtil.create("[email protected]")) - .build()) - .isInstanceOf(NullPointerException.class); - } - - @Test - public void builderShouldReturnNoopWhenMessagesIsEmpty() { - assertThat(MessageMoveEvent.builder() - .session(MailboxSessionUtil.create("[email protected]")) - .messageMoves(MessageMoves.builder() - .previousMailboxIds(TestId.of(1)) - .targetMailboxIds(TestId.of(2)) - .build()) - .build() - .isNoop()).isTrue(); - } - - @Test - public void builderShouldNotBeNoopWhenFieldsAreGiven() { - MailboxSession session = MailboxSessionUtil.create("[email protected]"); - MessageMoves messageMoves = MessageMoves.builder() - .targetMailboxIds(TestId.of(2)) - .previousMailboxIds(TestId.of(1)) - .build(); - - MessageMoveEvent event = MessageMoveEvent.builder() - .session(session) - .messageMoves(messageMoves) - .messageId(TestMessageId.of(35)) - .build(); - - assertThat(event.isNoop()).isFalse(); - } - - @Test - public void builderShouldBuildWhenFieldsAreGiven() { - String username = "[email protected]"; - MailboxSession session = MailboxSessionUtil.create(username); - MessageMoves messageMoves = MessageMoves.builder() - .targetMailboxIds(TestId.of(2)) - .previousMailboxIds(TestId.of(1)) - .build(); - - TestMessageId messageId = TestMessageId.of(45); - MessageMoveEvent event = MessageMoveEvent.builder() - .session(session) - .messageMoves(messageMoves) - .messageId(messageId) - .build(); - - softly.assertThat(event.getUser()).isEqualTo(User.fromUsername(username)); - softly.assertThat(event.getMessageMoves()).isEqualTo(messageMoves); - softly.assertThat(event.getMessageIds()).containsExactly(messageId); - } - - @Test - public void isMoveToShouldReturnFalseWhenMailboxIdIsNotInAddedMailboxIds() { - MessageMoveEvent event = MessageMoveEvent.builder() - .session(MailboxSessionUtil.create("[email protected]")) - .messageMoves(MessageMoves.builder() - .previousMailboxIds(TestId.of(1)) - .targetMailboxIds(TestId.of(2)) - .build()) - .build(); - - assertThat(event.isMoveTo(TestId.of(123))).isFalse(); - } - - @Test - public void isMoveToShouldReturnTrueWhenMailboxIdIsInAddedMailboxIds() { - TestId mailboxId = TestId.of(123); - MessageMoveEvent event = MessageMoveEvent.builder() - .session(MailboxSessionUtil.create("[email protected]")) - .messageMoves(MessageMoves.builder() - .previousMailboxIds(TestId.of(1)) - .targetMailboxIds(TestId.of(2), mailboxId) - .build()) - .build(); - - assertThat(event.isMoveTo(mailboxId)).isTrue(); - } - - @Test - public void isMoveFromShouldReturnFalseWhenMailboxIdIsNotInRemovedMailboxIds() { - MessageMoveEvent event = MessageMoveEvent.builder() - .session(MailboxSessionUtil.create("[email protected]")) - .messageMoves(MessageMoves.builder() - .previousMailboxIds(TestId.of(1)) - .targetMailboxIds(TestId.of(2)) - .build()) - .build(); - - assertThat(event.isMoveFrom(TestId.of(123))).isFalse(); - } - - @Test - public void isMoveFromShouldReturnTrueWhenMailboxIdIsInRemovedMailboxIds() { - TestId mailboxId = TestId.of(123); - MessageMoveEvent event = MessageMoveEvent.builder() - .session(MailboxSessionUtil.create("[email protected]")) - .messageMoves(MessageMoves.builder() - .previousMailboxIds(TestId.of(1), mailboxId) - .targetMailboxIds(TestId.of(2)) - .build()) - .build(); - - assertThat(event.isMoveFrom(mailboxId)).isTrue(); - } -} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
