MAILBOX-359 Factorize tests for UpdatedFlags ser-deserialization
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b458e405 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b458e405 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b458e405 Branch: refs/heads/master Commit: b458e40508df877d7d87724073a6f2ba6f380e0d Parents: 5383b12 Author: Benoit Tellier <btell...@linagora.com> Authored: Mon Dec 24 15:34:47 2018 +0700 Committer: Benoit Tellier <btell...@linagora.com> Committed: Tue Jan 8 14:37:57 2019 +0700 ---------------------------------------------------------------------- .../json/FlagsUpdatedSerializationTest.java | 143 ------------------- .../james/event/json/dtos/UpdatedFlagsTest.java | 92 ++++++++++++ 2 files changed, 92 insertions(+), 143 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b458e405/mailbox/event/json/src/test/java/org/apache/james/event/json/FlagsUpdatedSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/FlagsUpdatedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/FlagsUpdatedSerializationTest.java index 12874ee..0fee8a15 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/FlagsUpdatedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/FlagsUpdatedSerializationTest.java @@ -296,148 +296,5 @@ class FlagsUpdatedSerializationTest { "}").get()) .isInstanceOf(NoSuchElementException.class); } - - @Nested - class DeserializationErrorOnUpdatedFlags { - @Nested - class DeserializationErrorOnMoqSeq { - - @Test - void flagsUpdatedShouldThrowWhenMoqSeqIsAString() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": 482," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": \"18\"," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": \"35\"," + - " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void flagsUpdatedShouldThrowWhenMoqSeqIsNull() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": 482," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": \"18\"," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": null," + - " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void flagsUpdatedShouldThrowWhenMoqSeqIsNotALongNumber() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": 482," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": \"18\"," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": 35.2567454," + - " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - } - - @Nested - class DeserializationErrorOnOldFlags { - @Test - void flagsUpdatedShouldThrowWhenOldFlagsIsNull() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": 482," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": \"18\"," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": \"35\"," + - " \"oldFlags\": null," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - } - - @Nested - class DeserializationErrorOnNewFlags { - @Test - void flagsUpdatedShouldThrowWhenNewFlagsIsNull() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": 482," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": \"18\"," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": \"35\"," + - " \"newFlags\": null," + - " \"oldFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - } - } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b458e405/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/UpdatedFlagsTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/UpdatedFlagsTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/UpdatedFlagsTest.java new file mode 100644 index 0000000..31eda91 --- /dev/null +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/UpdatedFlagsTest.java @@ -0,0 +1,92 @@ +/**************************************************************** + * 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.event.json.dtos; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.apache.james.event.json.JsonSerialize; +import org.apache.james.mailbox.model.TestId; +import org.apache.james.mailbox.model.TestMessageId; +import org.junit.jupiter.api.Test; + +import play.api.libs.json.JsError; +import play.api.libs.json.Json; + +class UpdatedFlagsTest { + private static final JsonSerialize JSON_SERIALIZE = new JsonSerialize(new TestId.Factory(), new TestMessageId.Factory()); + + @Test + void flagsUpdatedShouldThrowWhenMoqSeqIsAString() { + assertThat(JSON_SERIALIZE.updatedFlagsReads().reads(Json.parse( + " {" + + " \"uid\": 123456," + + " \"modSeq\": \"35\"," + + " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + + " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + + " }"))) + .isInstanceOf(JsError.class); + } + + @Test + void flagsUpdatedShouldThrowWhenMoqSeqIsNull() { + assertThat(JSON_SERIALIZE.updatedFlagsReads().reads(Json.parse( + " {" + + " \"uid\": 123456," + + " \"modSeq\": null," + + " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + + " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + + " }"))) + .isInstanceOf(JsError.class); + } + + @Test + void flagsUpdatedShouldThrowWhenMoqSeqIsNotAnInteger() { + assertThat(JSON_SERIALIZE.updatedFlagsReads().reads(Json.parse( + " {" + + " \"uid\": 123456," + + " \"modSeq\": 35.2567454," + + " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + + " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + + " }"))) + .isInstanceOf(JsError.class); + } + + @Test + void flagsUpdatedShouldThrowWhenOldFlagIsMissing() { + assertThat(JSON_SERIALIZE.updatedFlagsReads().reads(Json.parse( + " {" + + " \"uid\": 123456," + + " \"modSeq\": 35," + + " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + + " }"))) + .isInstanceOf(JsError.class); + } + + @Test + void flagsUpdatedShouldThrowWhenNewFlagIsMissing() { + assertThat(JSON_SERIALIZE.updatedFlagsReads().reads(Json.parse( + " {" + + " \"uid\": 123456," + + " \"modSeq\": 35," + + " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}" + + " }"))) + .isInstanceOf(JsError.class); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org