MAILBOX-359 Factorize tests for MailboxId 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/e64e8e1d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e64e8e1d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e64e8e1d Branch: refs/heads/master Commit: e64e8e1d24cc0473ce37771acda398d77504fa18 Parents: 21eff06 Author: Benoit Tellier <[email protected]> Authored: Mon Dec 24 13:23:08 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Tue Jan 8 14:37:57 2019 +0700 ---------------------------------------------------------------------- .../event/json/AddedSerializationTest.java | 71 +------ .../event/json/ExpungedSerializationTest.java | 71 +------ .../json/FlagsUpdatedSerializationTest.java | 75 +------- ...MailboxACLUpdatedEventSerializationTest.java | 183 +++++++------------ .../json/MailboxAddedSerializationTest.java | 51 ------ .../json/MailboxDeletionSerializationTest.java | 53 +----- .../json/MailboxRenamedSerializationTest.java | 33 +--- .../james/event/json/dtos/MailboxIdTest.java | 71 +++++++ 8 files changed, 158 insertions(+), 450 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java index a299389..3af5c28 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java @@ -568,78 +568,16 @@ class AddedSerializationTest { .isInstanceOf(NoSuchElementException.class); } - @Nested - class DeserializationErrorOnMailboxId { - @Test - void addedShouldThrowWhenMissingMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"Added\": {" + - " \"path\": {" + - " \"namespace\": \"#private\"," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"added\": {" + - " \"123456\": {" + - " \"uid\": 123456," + - " \"modSeq\": 35," + - " \"flags\": {" + - " \"systemFlags\":[\"Answered\",\"Draft\"], " + - " \"userFlags\":[\"User Custom Flag\"]}," + - " \"size\": 45, " + - " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + - " \"messageId\": \"42\"" + - " }" + - " }," + - " \"sessionId\": 42," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void addedShouldThrowWhenNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"Added\": {" + - " \"path\": {" + - " \"namespace\": \"#private\"," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": null," + - " \"added\": {" + - " \"123456\": {" + - " \"uid\": 123456," + - " \"modSeq\": 35," + - " \"flags\": {" + - " \"systemFlags\":[\"Answered\",\"Draft\"], " + - " \"userFlags\":[\"User Custom Flag\"]}," + - " \"size\": 45, " + - " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + - " \"messageId\": \"42\"" + - " }" + - " }," + - " \"sessionId\": 42," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void addedShouldThrowWhenMailboxIdIsANumber() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void addedShouldThrowWhenMissingMailboxId() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"Added\": {" + " \"path\": {" + " \"namespace\": \"#private\"," + " \"user\": \"user\"," + " \"name\": \"mailboxName\"" + " }," + - " \"mailboxId\": 18," + " \"added\": {" + " \"123456\": {" + " \"uid\": 123456," + @@ -657,7 +595,6 @@ class AddedSerializationTest { " }" + "}").get()) .isInstanceOf(NoSuchElementException.class); - } } @Nested http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java index 3d60dab..2aee596 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java @@ -567,78 +567,16 @@ class ExpungedSerializationTest { .isInstanceOf(NoSuchElementException.class); } - @Nested - class DeserializationErrorOnMailboxId { - @Test - void expungedShouldThrowWhenMissingMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"Expunged\": {" + - " \"path\": {" + - " \"namespace\": \"#private\"," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"expunged\": {" + - " \"123456\": {" + - " \"uid\": 123456," + - " \"modSeq\": 35," + - " \"flags\": {" + - " \"systemFlags\":[\"Answered\",\"Draft\"], " + - " \"userFlags\":[\"User Custom Flag\"]}," + - " \"size\": 45, " + - " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + - " \"messageId\": \"42\"" + - " }" + - " }," + - " \"sessionId\": 42," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void expungedShouldThrowWhenNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"Expunged\": {" + - " \"path\": {" + - " \"namespace\": \"#private\"," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": null," + - " \"expunged\": {" + - " \"123456\": {" + - " \"uid\": 123456," + - " \"modSeq\": 35," + - " \"flags\": {" + - " \"systemFlags\":[\"Answered\",\"Draft\"], " + - " \"userFlags\":[\"User Custom Flag\"]}," + - " \"size\": 45, " + - " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + - " \"messageId\": \"42\"" + - " }" + - " }," + - " \"sessionId\": 42," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void expungedShouldThrowWhenMailboxIdIsANumber() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void expungedShouldThrowWhenMissingMailboxId() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"Expunged\": {" + " \"path\": {" + " \"namespace\": \"#private\"," + " \"user\": \"user\"," + " \"name\": \"mailboxName\"" + " }," + - " \"mailboxId\": 18," + " \"expunged\": {" + " \"123456\": {" + " \"uid\": 123456," + @@ -656,7 +594,6 @@ class ExpungedSerializationTest { " }" + "}").get()) .isInstanceOf(NoSuchElementException.class); - } } @Nested http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/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 091a259..abef4bd 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 @@ -495,82 +495,16 @@ class FlagsUpdatedSerializationTest { .isInstanceOf(NoSuchElementException.class); } - @Nested - class DeserializationErrorOnMailboxId { - @Test - void flagsUpdatedShouldThrowWhenMissingMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": \"#private\"," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": 35," + - " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }," + - " {" + - " \"uid\": 654321," + - " \"modSeq\": 36," + - " \"oldFlags\": {\"systemFlags\":[\"Flagged\",\"Recent\"],\"userFlags\":[\"Old Flag 2\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Seen\"],\"userFlags\":[\"New Flag 2\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void flagsUpdatedShouldThrowWhenNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"FlagsUpdated\": {" + - " \"path\": {" + - " \"namespace\": \"#private\"," + - " \"user\": \"user\"," + - " \"name\": \"mailboxName\"" + - " }," + - " \"mailboxId\": null," + - " \"sessionId\": 42," + - " \"updatedFlags\": [" + - " {" + - " \"uid\": 123456," + - " \"modSeq\": 35," + - " \"oldFlags\": {\"systemFlags\":[\"Deleted\",\"Seen\"],\"userFlags\":[\"Old Flag 1\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Draft\"],\"userFlags\":[\"New Flag 1\"]}" + - " }," + - " {" + - " \"uid\": 654321," + - " \"modSeq\": 36," + - " \"oldFlags\": {\"systemFlags\":[\"Flagged\",\"Recent\"],\"userFlags\":[\"Old Flag 2\"]}," + - " \"newFlags\": {\"systemFlags\":[\"Answered\",\"Seen\"],\"userFlags\":[\"New Flag 2\"]}" + - " }" + - " ]," + - " \"user\": \"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void flagsUpdatedShouldThrowWhenMailboxIdIsANumber() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void flagsUpdatedShouldThrowWhenMissingMailboxId() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"FlagsUpdated\": {" + " \"path\": {" + " \"namespace\": \"#private\"," + " \"user\": \"user\"," + " \"name\": \"mailboxName\"" + " }," + - " \"mailboxId\": 18," + " \"sessionId\": 42," + " \"updatedFlags\": [" + " {" + @@ -590,7 +524,6 @@ class FlagsUpdatedSerializationTest { " }" + "}").get()) .isInstanceOf(NoSuchElementException.class); - } } @Nested http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxACLUpdatedEventSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxACLUpdatedEventSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxACLUpdatedEventSerializationTest.java index 45f7605..0855c64 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxACLUpdatedEventSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxACLUpdatedEventSerializationTest.java @@ -309,13 +309,10 @@ class MailboxACLUpdatedEventSerializationTest { .isInstanceOf(NoSuchElementException.class); } - @Nested - class DeserializationErrorOnACLDiff { - - @Test - void mailboxACLUpdatedShouldThrowWhenMissingACLDiff() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void mailboxACLUpdatedShouldThrowWhenMissingACLDiff() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"MailboxACLUpdated\":{" + " \"mailboxPath\":{" + " \"namespace\":\"#private\"," + @@ -326,8 +323,7 @@ class MailboxACLUpdatedEventSerializationTest { " \"user\":\"user\"" + " }" + "}").get()) - .isInstanceOf(NoSuchElementException.class); - } + .isInstanceOf(NoSuchElementException.class); } @Nested @@ -728,55 +724,11 @@ class MailboxACLUpdatedEventSerializationTest { } } } - } - - @Nested - class DeserializationErrorOnMailboxId { - @Test - void mailboxACLUpdatedShouldThrowWhenMissingMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"MailboxACLUpdated\":{" + - " \"mailboxPath\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"bob\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"aclDiff\":{" + - " \"oldACL\":{}," + - " \"newACL\":{\"$any\":\"ar\"}}," + - " \"sessionId\":6," + - " \"user\":\"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void mailboxACLUpdatedShouldThrowWhenNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"MailboxACLUpdated\":{" + - " \"mailboxPath\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"bob\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"aclDiff\":{" + - " \"oldACL\":{}," + - " \"newACL\":{\"$any\":\"ar\"}}," + - " \"mailboxId\":null," + - " \"sessionId\":6," + - " \"user\":\"user\"" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - @Test - void mailboxACLUpdatedShouldThrowWhenMailboxIdIsANumber() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void mailboxACLUpdatedShouldThrowWhenMissingMailboxId() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"MailboxACLUpdated\":{" + " \"mailboxPath\":{" + " \"namespace\":\"#private\"," + @@ -786,13 +738,11 @@ class MailboxACLUpdatedEventSerializationTest { " \"aclDiff\":{" + " \"oldACL\":{}," + " \"newACL\":{\"$any\":\"ar\"}}," + - " \"mailboxId\":123," + " \"sessionId\":6," + " \"user\":\"user\"" + " }" + "}").get()) - .isInstanceOf(NoSuchElementException.class); - } + .isInstanceOf(NoSuchElementException.class); } @Nested @@ -804,20 +754,20 @@ class MailboxACLUpdatedEventSerializationTest { void mailboxACLUpdatedShouldThrowWhenNameSpaceIsNotAString() { assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( "{" + - " \"MailboxACLUpdated\":{" + - " \"mailboxPath\":{" + - " \"namespace\":230192.06," + - " \"user\":\"bob\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"aclDiff\":{" + - " \"oldACL\":{}," + - " \"newACL\":{\"$any\":\"ar\"}}," + - " \"mailboxId\":\"123\"," + - " \"sessionId\":6," + - " \"user\":\"user\"" + - " }" + - "}").get()) + " \"MailboxACLUpdated\":{" + + " \"mailboxPath\":{" + + " \"namespace\":230192.06," + + " \"user\":\"bob\"," + + " \"name\":\"mailboxName\"" + + " }," + + " \"aclDiff\":{" + + " \"oldACL\":{}," + + " \"newACL\":{\"$any\":\"ar\"}}," + + " \"mailboxId\":\"123\"," + + " \"sessionId\":6," + + " \"user\":\"user\"" + + " }" + + "}").get()) .isInstanceOf(NoSuchElementException.class); } } @@ -828,20 +778,20 @@ class MailboxACLUpdatedEventSerializationTest { void mailboxACLUpdatedShouldThrowWhenUserIsNotAString() { assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( "{" + - " \"MailboxACLUpdated\":{" + - " \"mailboxPath\":{" + - " \"namespace\":230192.06," + - " \"user\":180806," + - " \"name\":\"mailboxName\"" + - " }," + - " \"aclDiff\":{" + - " \"oldACL\":{}," + - " \"newACL\":{\"$any\":\"ar\"}}," + - " \"mailboxId\":\"123\"," + - " \"sessionId\":6," + - " \"user\":\"user\"" + - " }" + - "}").get()) + " \"MailboxACLUpdated\":{" + + " \"mailboxPath\":{" + + " \"namespace\":230192.06," + + " \"user\":180806," + + " \"name\":\"mailboxName\"" + + " }," + + " \"aclDiff\":{" + + " \"oldACL\":{}," + + " \"newACL\":{\"$any\":\"ar\"}}," + + " \"mailboxId\":\"123\"," + + " \"sessionId\":6," + + " \"user\":\"user\"" + + " }" + + "}").get()) .isInstanceOf(NoSuchElementException.class); } } @@ -853,20 +803,20 @@ class MailboxACLUpdatedEventSerializationTest { void mailboxACLUpdatedShouldThrowWhenNullMailboxName() { assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( "{" + - " \"MailboxACLUpdated\":{" + - " \"mailboxPath\":{" + - " \"namespace\":230192.06," + - " \"user\":180806," + - " \"name\":null" + - " }," + - " \"aclDiff\":{" + - " \"oldACL\":{}," + - " \"newACL\":{\"$any\":\"ar\"}}," + - " \"mailboxId\":\"123\"," + - " \"sessionId\":6," + - " \"user\":\"user\"" + - " }" + - "}").get()) + " \"MailboxACLUpdated\":{" + + " \"mailboxPath\":{" + + " \"namespace\":230192.06," + + " \"user\":180806," + + " \"name\":null" + + " }," + + " \"aclDiff\":{" + + " \"oldACL\":{}," + + " \"newACL\":{\"$any\":\"ar\"}}," + + " \"mailboxId\":\"123\"," + + " \"sessionId\":6," + + " \"user\":\"user\"" + + " }" + + "}").get()) .isInstanceOf(NoSuchElementException.class); } @@ -874,23 +824,24 @@ class MailboxACLUpdatedEventSerializationTest { void mailboxACLUpdatedShouldThrowWhenMailboxNameIdIsANumber() { assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( "{" + - " \"MailboxACLUpdated\":{" + - " \"mailboxPath\":{" + - " \"namespace\":230192.06," + - " \"user\":\"bob\"," + - " \"name\":160205" + - " }," + - " \"aclDiff\":{" + - " \"oldACL\":{}," + - " \"newACL\":{\"$any\":\"ar\"}}," + - " \"mailboxId\":\"123\"," + - " \"sessionId\":6," + - " \"user\":\"user\"" + - " }" + - "}").get()) + " \"MailboxACLUpdated\":{" + + " \"mailboxPath\":{" + + " \"namespace\":230192.06," + + " \"user\":\"bob\"," + + " \"name\":160205" + + " }," + + " \"aclDiff\":{" + + " \"oldACL\":{}," + + " \"newACL\":{\"$any\":\"ar\"}}," + + " \"mailboxId\":\"123\"," + + " \"sessionId\":6," + + " \"user\":\"user\"" + + " }" + + "}").get()) .isInstanceOf(NoSuchElementException.class); } } } + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxAddedSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxAddedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxAddedSerializationTest.java index c491c9f..4ee0db7 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxAddedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxAddedSerializationTest.java @@ -275,56 +275,5 @@ class MailboxAddedSerializationTest { "}").get()) .isInstanceOf(NoSuchElementException.class); } - - @Test - void fromJsonShouldRejectLongMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson("{" + - " \"MailboxAdded\":{" + - " \"mailboxPath\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"bob\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"mailboxId\":18," + - " \"user\":\"user\"," + - " \"sessionId\":18" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void fromJsonShouldRejectNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson("{" + - " \"MailboxAdded\":{" + - " \"mailboxPath\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"bob\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"mailboxId\":null," + - " \"user\":\"user\"," + - " \"sessionId\":18" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void fromJsonShouldRejectInvalidMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson("{" + - " \"MailboxAdded\":{" + - " \"mailboxPath\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"bob\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"mailboxId\":\"invalid\"," + - " \"user\":\"user\"," + - " \"sessionId\":18" + - " }" + - "}").get()) - .isInstanceOf(NumberFormatException.class); - } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxDeletionSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxDeletionSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxDeletionSerializationTest.java index e0ae086..fc7a708 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxDeletionSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxDeletionSerializationTest.java @@ -470,12 +470,10 @@ class MailboxDeletionSerializationTest { } } - @Nested - class DeserializationErrorOnMailboxId { - @Test - void mailboxAddedShouldThrowWhenMissingMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void mailboxAddedShouldThrowWhenMissingMailboxId() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"MailboxDeletion\":{" + " \"sessionId\":3652," + " \"user\":\"user\"," + @@ -490,49 +488,6 @@ class MailboxDeletionSerializationTest { " }" + "}").get()) .isInstanceOf(NoSuchElementException.class); - } - - @Test - void mailboxAddedShouldThrowWhenNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"MailboxDeletion\":{" + - " \"sessionId\":3652," + - " \"user\":\"user\"," + - " \"path\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"user\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"quotaRoot\":\"user@domain\"," + - " \"deletedMessageCount\":60," + - " \"totalDeletedSize\":100," + - " \"mailboxId\":null" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } - - @Test - void mailboxAddedShouldThrowWhenMailboxIdIsANumber() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"MailboxDeletion\":{" + - " \"sessionId\":3652," + - " \"user\":\"user\"," + - " \"path\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"user\"," + - " \"name\":\"mailboxName\"" + - " }," + - " \"quotaRoot\":\"user@domain\"," + - " \"deletedMessageCount\":60," + - " \"totalDeletedSize\":100," + - " \"mailboxId\":789" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } } @Nested http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxRenamedSerializationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxRenamedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxRenamedSerializationTest.java index b19b20c..7ef472d 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxRenamedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/MailboxRenamedSerializationTest.java @@ -329,12 +329,10 @@ class MailboxRenamedSerializationTest { .isInstanceOf(NoSuchElementException.class); } - @Nested - class DeserializationErrorOnMailBoxId { - @Test - void mailboxRenamedDeSerializeShouldThrowWhenNumberMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + + @Test + void mailboxRenamedDeSerializeShouldThrowWhenMissingMailboxId() { + assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( + "{" + " \"MailboxRenamed\":{" + " \"sessionId\":123456789," + " \"user\":\"user\"," + @@ -352,29 +350,6 @@ class MailboxRenamedSerializationTest { " }" + "}").get()) .isInstanceOf(NoSuchElementException.class); - } - - @Test - void mailboxRenamedDeSerializeShouldThrowWhenNullMailboxId() { - assertThatThrownBy(() -> EVENT_SERIALIZER.fromJson( - "{" + - " \"MailboxRenamed\":{" + - " \"sessionId\":123456789," + - " \"user\":\"user\"," + - " \"path\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"user\"," + - " \"name\":\"oldMailboxName\"" + - " }," + - " \"newPath\":{" + - " \"namespace\":\"#private\"," + - " \"user\":\"user\"," + - " \"name\":\"newMailboxName\"" + - " }" + - " }" + - "}").get()) - .isInstanceOf(NoSuchElementException.class); - } } @Nested http://git-wip-us.apache.org/repos/asf/james-project/blob/e64e8e1d/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/MailboxIdTest.java ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/MailboxIdTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/MailboxIdTest.java new file mode 100644 index 0000000..d54505c --- /dev/null +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/dtos/MailboxIdTest.java @@ -0,0 +1,71 @@ +/**************************************************************** + * 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 static org.assertj.core.api.Assertions.assertThatThrownBy; + +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.JsNull$; +import play.api.libs.json.JsNumber; +import play.api.libs.json.JsPath; +import play.api.libs.json.JsString; +import play.api.libs.json.JsSuccess; +import scala.collection.immutable.List; +import scala.math.BigDecimal; + +class MailboxIdTest { + private static final JsonSerialize JSON_SERIALIZE = new JsonSerialize(new TestId.Factory(), new TestMessageId.Factory()); + + @Test + void mailboxIdShouldBeWellSerialized() { + assertThat(JSON_SERIALIZE.mailboxIdWrites().writes(TestId.of(18))) + .isEqualTo(new JsString("18")); + } + + @Test + void mailboxIdShouldBeWellDeSerialized() { + assertThat(JSON_SERIALIZE.mailboxIdReads().reads(new JsString("18"))) + .isEqualTo(new JsSuccess<>(TestId.of(18), new JsPath(List.empty()))); + } + + @Test + void mailboxIdDeserializationShouldReturnErrorWhenNumber() { + assertThat(JSON_SERIALIZE.mailboxIdReads().reads(new JsNumber(BigDecimal.valueOf(18)))) + .isInstanceOf(JsError.class); + } + + @Test + void mailboxIdDeserializationShouldReturnErrorWhenNull() { + assertThat(JSON_SERIALIZE.mailboxIdReads().reads(JsNull$.MODULE$)) + .isInstanceOf(JsError.class); + } + + @Test + void mailboxIdDeserializationShouldThrowWhenInvalid() { + assertThatThrownBy(() -> JSON_SERIALIZE.mailboxIdReads().reads(new JsString("invalid"))) + .isInstanceOf(IllegalArgumentException.class); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
