You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/12/23 03:51:22 UTC
[james-project] 08/10: JAMES-3464 Mailbox/set should return
newState & oldState
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 44480e506efb3469ecb3b1ad23fef4d75dcbfde1
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Dec 17 17:12:42 2020 +0700
JAMES-3464 Mailbox/set should return newState & oldState
---
.../contract/EmailQueryMethodContract.scala | 10 +-
.../contract/MailboxSetMethodContract.scala | 608 ++++++++++++++-------
.../james/jmap/method/MailboxSetMethod.scala | 19 +-
3 files changed, 415 insertions(+), 222 deletions(-)
diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala
index 182da77..4bafa75 100644
--- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala
+++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala
@@ -251,7 +251,9 @@ trait EmailQueryMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -259,7 +261,6 @@ trait EmailQueryMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "${mailboxId}",
@@ -348,7 +349,9 @@ trait EmailQueryMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -356,7 +359,6 @@ trait EmailQueryMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "${mailboxId}",
diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
index 2d58022..cc19ef6 100644
--- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
+++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
@@ -147,13 +147,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -201,13 +202,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -255,13 +257,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -309,13 +312,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -363,13 +367,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -417,13 +422,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize()}": {
| "type": "invalidArguments",
@@ -472,13 +478,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -526,13 +533,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -580,13 +588,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -634,13 +643,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -688,13 +698,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -743,14 +754,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -799,14 +811,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -855,14 +868,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -913,14 +927,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -971,14 +986,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -1029,14 +1045,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -1171,13 +1188,14 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "${mailboxId}",
@@ -1337,14 +1355,13 @@ trait MailboxSetMethodContract {
.serialize
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState", "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$mailboxId",
@@ -1423,13 +1440,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -1480,13 +1498,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -1546,14 +1565,13 @@ trait MailboxSetMethodContract {
.serialize
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState", "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$mailboxId",
@@ -1677,14 +1695,15 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$mailboxId",
@@ -1745,14 +1764,15 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$mailboxId",
@@ -1817,14 +1837,15 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$mailboxId",
@@ -1929,14 +1950,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -1986,14 +2008,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -2042,14 +2065,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "invalidArguments",
@@ -2104,14 +2128,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notCreated": {
| "C42": {
| "type": "forbidden",
@@ -2159,14 +2184,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "destroyed": ["${mailboxId.serialize}"]
| },
| "c1"]]
@@ -2362,14 +2388,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -2423,14 +2450,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "${mailboxId.serialize}": {
| "type": "mailboxHasEmail",
@@ -2477,14 +2505,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "${mailboxId.serialize}": {
| "type": "mailboxHasChild",
@@ -2533,14 +2562,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -2584,14 +2614,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "invalid": {
| "type": "invalidArguments",
@@ -2696,7 +2727,10 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "parent.child")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState",
+ "methodResponses[1][1].newState", "methodResponses[1][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -2704,7 +2738,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$parentId",
@@ -2734,7 +2767,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C43": {
| "id": "$childId",
@@ -2808,13 +2840,15 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "myMailbox")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState",
+ "methodResponses[1][1].newState", "methodResponses[1][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "#C42": {
| "type": "invalidArguments",
@@ -2824,7 +2858,6 @@ trait MailboxSetMethodContract {
| }, "c2"],
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$mailboxId",
@@ -2882,13 +2915,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "#C42": {
| "type": "invalidArguments",
@@ -2931,13 +2965,14 @@ trait MailboxSetMethodContract {
.asString
val message = "# is not a mailboxId: # was not used in previously defined creationIds"
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "#": {
| "type": "invalidArguments",
@@ -2994,14 +3029,13 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[1][1].state", "methodResponses[0][1].newState", "methodResponses[0][1].oldState")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -3067,13 +3101,15 @@ trait MailboxSetMethodContract {
.getMailboxId("#private", BOB.asString(), "newName")
.serialize
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState",
+ "methodResponses[1][1].oldState", "methodResponses[1][1].newState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C43": {
| "id": "$mailboxId",
@@ -3099,7 +3135,6 @@ trait MailboxSetMethodContract {
| }, "c1"],
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "$mailboxId": {}
| }
@@ -3185,13 +3220,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidArguments",
@@ -3238,13 +3274,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidArguments",
@@ -3291,13 +3328,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidArguments",
@@ -3344,13 +3382,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidArguments",
@@ -3398,13 +3437,14 @@ trait MailboxSetMethodContract {
.asString
val message = "Invalid property specified in a patch object: Predicate isEmpty() did not fail."
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidPatch",
@@ -3450,13 +3490,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidArguments",
@@ -3503,13 +3544,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "notFound",
@@ -3558,13 +3600,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "notFound",
@@ -3611,13 +3654,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -3661,13 +3705,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -3727,14 +3772,13 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState", "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${childId.serialize}": {}
| }
@@ -3801,14 +3845,13 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState", "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${parentId.serialize}": {}
| }
@@ -3869,14 +3912,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "destroyed": ["${mailboxId.serialize}"]
| },
| "c1"]]
@@ -4060,14 +4104,15 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [[
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notDestroyed": {
| "${mailboxId.serialize}": {
| "type": "mailboxHasEmail",
@@ -4124,14 +4169,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -4202,21 +4247,21 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[2][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].oldState", "methodResponses[1][1].newState",
+ "methodResponses[2][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
| }, "c2"],
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -4277,14 +4322,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -4350,14 +4395,13 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[1][1].state", "methodResponses[0][1].oldState", "methodResponses[0][1].newState")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -4433,21 +4477,21 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[2][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].oldState", "methodResponses[1][1].newState",
+ "methodResponses[2][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
| }, "c2"],
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -4499,13 +4543,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId1.serialize}": {
| "type": "invalidArguments",
@@ -4575,7 +4620,6 @@ trait MailboxSetMethodContract {
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${andreId.serialize}": {},
| "${bobId.serialize}": {}
@@ -4655,21 +4699,21 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[2][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].oldState", "methodResponses[1][1].newState",
+ "methodResponses[2][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
| }, "c2"],
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -4764,13 +4808,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -4866,7 +4911,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -4874,7 +4921,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -4926,7 +4972,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -4934,7 +4982,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -4986,7 +5033,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -4994,7 +5043,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -5057,14 +5105,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -5139,14 +5187,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -5219,14 +5267,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -5295,13 +5343,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -5355,13 +5404,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -5424,21 +5474,20 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
| }, "c1"],
| ["Mailbox/get", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "state": "${INSTANCE.value}",
| "list": [{
| "id": "${mailboxId.serialize}",
| "rights": {
@@ -5491,13 +5540,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidPatch",
@@ -5548,7 +5598,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -5556,7 +5608,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -5615,7 +5666,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -5623,7 +5676,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidPatch",
@@ -5677,13 +5729,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -5742,13 +5795,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -5813,14 +5867,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -5876,7 +5930,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -5884,7 +5940,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -5941,7 +5996,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -5949,7 +6006,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -6167,14 +6223,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6240,14 +6296,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6314,14 +6370,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6387,14 +6443,13 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[1][1].state", "methodResponses[0][1].newState", "methodResponses[0][1].oldState")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6459,14 +6514,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6532,14 +6587,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6602,14 +6657,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6674,14 +6729,14 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6761,14 +6816,15 @@ trait MailboxSetMethodContract {
.serialize
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[2][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState",
+ "methodResponses[1][1].oldState", "methodResponses[1][1].newState",
+ "methodResponses[2][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "created": {
| "C42": {
| "id": "$parentId",
@@ -6794,7 +6850,6 @@ trait MailboxSetMethodContract {
| }, "c1"],
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -6849,13 +6904,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -6905,13 +6961,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -6962,13 +7019,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -7019,13 +7077,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -7078,13 +7137,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "invalidArguments",
@@ -7142,13 +7202,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -7204,13 +7265,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -7266,13 +7328,14 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "${mailboxId.serialize}": {
| "type": "notFound",
@@ -7336,14 +7399,13 @@ trait MailboxSetMethodContract {
.asString
assertThatJson(response)
- .whenIgnoringPaths("methodResponses[1][1].state")
+ .whenIgnoringPaths("methodResponses[0][1].oldState", "methodResponses[0][1].newState", "methodResponses[1][1].state")
.isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
| ["Mailbox/set", {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
| "${mailboxId.serialize}": {}
| }
@@ -7403,7 +7465,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -7411,11 +7475,8 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "updated": {
- | "${mailboxId.serialize}": {
- |
- | }
+ | "${mailboxId.serialize}": {}
| }
| },
| "c1"
@@ -7535,7 +7596,9 @@ trait MailboxSetMethodContract {
.body
.asString
- assertThatJson(response).isEqualTo(
+ assertThatJson(response)
+ .whenIgnoringPaths("methodResponses[0][1].newState", "methodResponses[0][1].oldState")
+ .isEqualTo(
s"""{
| "sessionState": "${SESSION_STATE.value}",
| "methodResponses": [
@@ -7543,7 +7606,6 @@ trait MailboxSetMethodContract {
| "Mailbox/set",
| {
| "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
- | "newState": "${INSTANCE.value}",
| "notUpdated": {
| "#invalid": {
| "type": "invalidArguments",
@@ -7556,4 +7618,126 @@ trait MailboxSetMethodContract {
| ]
|}""".stripMargin)
}
+
+ @Test
+ def newStateShouldBeUpToDate(server: GuiceJamesServer): Unit = {
+ val mailboxId: MailboxId = server.getProbe(classOf[MailboxProbeImpl])
+ .createMailbox(MailboxPath.forUser(BOB, "mailbox"))
+ val request =
+ s"""
+ |{
+ | "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
+ | "methodCalls": [
+ | [
+ | "Mailbox/set",
+ | {
+ | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
+ | "update": {
+ | "${mailboxId.serialize}": {
+ | "name": "newName"
+ | }
+ | }
+ | }, "c1"],
+ | [ "Mailbox/changes",
+ | {
+ | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
+ | "#sinceState": {
+ | "resultOf":"c1",
+ | "name":"Mailbox/set",
+ | "path":"newState"
+ | }
+ | },
+ | "c2"]
+ | ]
+ |}
+ |""".stripMargin
+
+ val response = `given`
+ .header(ACCEPT.toString, ACCEPT_RFC8621_VERSION_HEADER)
+ .body(request)
+ .when
+ .post
+ .`then`
+ .log().ifValidationFails()
+ .statusCode(SC_OK)
+ .contentType(JSON)
+ .extract
+ .body
+ .asString
+
+ assertThatJson(response)
+ .withOptions(new Options(Option.IGNORING_ARRAY_ORDER))
+ .whenIgnoringPaths("methodResponses[1][1].oldState", "methodResponses[1][1].newState")
+ .inPath("methodResponses[1][1]")
+ .isEqualTo(
+ s"""{
+ | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
+ | "hasMoreChanges": false,
+ | "updatedProperties": [],
+ | "created": [],
+ | "updated": [],
+ | "destroyed": []
+ |}""".stripMargin)
+ }
+
+ @Test
+ def oldStateShouldIncludeSetChanges(server: GuiceJamesServer): Unit = {
+ val mailboxId: MailboxId = server.getProbe(classOf[MailboxProbeImpl])
+ .createMailbox(MailboxPath.forUser(BOB, "mailbox"))
+ val request =
+ s"""
+ |{
+ | "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
+ | "methodCalls": [
+ | [
+ | "Mailbox/set",
+ | {
+ | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
+ | "update": {
+ | "${mailboxId.serialize}": {
+ | "name": "newName"
+ | }
+ | }
+ | }, "c1"],
+ | [ "Mailbox/changes",
+ | {
+ | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
+ | "#sinceState": {
+ | "resultOf":"c1",
+ | "name":"Mailbox/set",
+ | "path":"oldState"
+ | }
+ | },
+ | "c2"]
+ | ]
+ |}
+ |""".stripMargin
+
+ val response = `given`
+ .header(ACCEPT.toString, ACCEPT_RFC8621_VERSION_HEADER)
+ .body(request)
+ .when
+ .post
+ .`then`
+ .log().ifValidationFails()
+ .statusCode(SC_OK)
+ .contentType(JSON)
+ .extract
+ .body
+ .asString
+
+ assertThatJson(response)
+ .withOptions(new Options(Option.IGNORING_ARRAY_ORDER))
+ .whenIgnoringPaths("methodResponses[1][1].oldState", "methodResponses[1][1].newState")
+ .inPath("methodResponses[1][1]")
+ .isEqualTo(
+ s"""{
+ | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
+ | "hasMoreChanges": false,
+ | "updatedProperties": [],
+ | "created": [],
+ | "updated": ["${mailboxId.serialize}"],
+ | "destroyed": []
+ |}""".stripMargin)
+ }
}
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
index 6b6952c..d4a8520 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
@@ -21,6 +21,8 @@ package org.apache.james.jmap.method
import eu.timepit.refined.auto._
import javax.inject.Inject
+import org.apache.james.jmap.api.change.MailboxChangeRepository
+import org.apache.james.jmap.api.model.{AccountId => JavaAccountId}
import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, JMAP_CORE, JMAP_MAIL}
import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
import org.apache.james.jmap.core.{Invocation, SetError, State}
@@ -46,16 +48,20 @@ class MailboxSetMethod @Inject()(serializer: MailboxSerializer,
createPerformer: MailboxSetCreatePerformer,
deletePerformer: MailboxSetDeletePerformer,
updatePerformer: MailboxSetUpdatePerformer,
+ mailboxChangeRepository: MailboxChangeRepository,
val metricFactory: MetricFactory,
val sessionSupplier: SessionSupplier) extends MethodRequiringAccountId[MailboxSetRequest] {
override val methodName: MethodName = MethodName("Mailbox/set")
override val requiredCapabilities: Set[CapabilityIdentifier] = Set(JMAP_CORE, JMAP_MAIL)
override def doProcess(capabilities: Set[CapabilityIdentifier], invocation: InvocationWithContext, mailboxSession: MailboxSession, request: MailboxSetRequest): SMono[InvocationWithContext] = for {
- creationResultsWithUpdatedProcessingContext <- createPerformer.createMailboxes(mailboxSession, request, invocation.processingContext)
+ oldState <- SMono(mailboxChangeRepository.getLatestState(JavaAccountId.fromUsername(mailboxSession.getUser))).map(State.fromJava)
+ creationResults <- createPerformer.createMailboxes(mailboxSession, request, invocation.processingContext)
deletionResults <- deletePerformer.deleteMailboxes(mailboxSession, request)
updateResults <- updatePerformer.updateMailboxes(mailboxSession, request, capabilities)
- } yield InvocationWithContext(createResponse(capabilities, invocation.invocation, request, creationResultsWithUpdatedProcessingContext._1, deletionResults, updateResults), creationResultsWithUpdatedProcessingContext._2)
+ newState <- SMono(mailboxChangeRepository.getLatestState(JavaAccountId.fromUsername(mailboxSession.getUser))).map(State.fromJava)
+ response = createResponse(capabilities, invocation.invocation, request, creationResults._1, deletionResults, updateResults, oldState, newState)
+ } yield InvocationWithContext(response, creationResults._2)
override def getRequest(mailboxSession: MailboxSession, invocation: Invocation): Either[IllegalArgumentException, MailboxSetRequest] =
serializer.deserializeMailboxSetRequest(invocation.arguments.value) match {
@@ -68,11 +74,13 @@ class MailboxSetMethod @Inject()(serializer: MailboxSerializer,
mailboxSetRequest: MailboxSetRequest,
creationResults: MailboxCreationResults,
deletionResults: MailboxDeletionResults,
- updateResults: MailboxUpdateResults): Invocation = {
+ updateResults: MailboxUpdateResults,
+ oldState: State,
+ newState: State): Invocation = {
val response = MailboxSetResponse(
mailboxSetRequest.accountId,
- oldState = None,
- newState = State.INSTANCE,
+ oldState = Some(oldState),
+ newState = newState,
destroyed = Some(deletionResults.destroyed).filter(_.nonEmpty),
created = Some(creationResults.retrieveCreated).filter(_.nonEmpty),
notCreated = Some(creationResults.retrieveErrors).filter(_.nonEmpty),
@@ -84,5 +92,4 @@ class MailboxSetMethod @Inject()(serializer: MailboxSerializer,
Arguments(serializer.serialize(response, capabilities).as[JsObject]),
invocation.methodCallId)
}
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org