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 fa160b841fbe7e8095398903928cf349dadfb59e Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Mon Aug 17 14:44:20 2020 +0700 JAMES-3359 Mailbox/set update should handle subscription The test requires mailbox/set create subscription support to pass and is thus disabled for now. --- .../contract/MailboxSetMethodContract.scala | 43 +++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) 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 fefaebc..d57b247 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 @@ -38,6 +38,7 @@ import org.apache.james.mime4j.dom.Message import org.apache.james.modules.{ACLProbeImpl, MailboxProbeImpl} import org.apache.james.utils.DataProbeImpl import org.assertj.core.api.Assertions +import org.assertj.core.api.Assertions.assertThat import org.hamcrest.Matchers.{equalTo, hasSize} import org.junit.jupiter.api.{BeforeEach, Disabled, Test} @@ -2166,6 +2167,47 @@ trait MailboxSetMethodContract { } @Test + def updateShouldRenameSubscriptions(server: GuiceJamesServer): Unit = { + val request = + s""" + |{ + | "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ], + | "methodCalls": [ + | ["Mailbox/set", + | { + | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6", + | "create": { + | "C43": { + | "name": "mailbox" + | } + | } + | }, + | "c1"], + | ["Mailbox/set", + | { + | "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6", + | "update": { + | "#C43" : { + | "/name": "newName" + | } + | } + | }, + | "c2"] + | ] + |} + |""".stripMargin + + `with`() + .header(ACCEPT.toString, ACCEPT_RFC8621_VERSION_HEADER) + .body(request) + .post + + assertThat(server.getProbe(classOf[MailboxProbeImpl]).listSubscriptions(BOB.asString())) + .contains("newName") + .doesNotContain("mailbox") + } + + @Test def updateShouldFailWhenTargetMailboxAlreadyExist(server: GuiceJamesServer): Unit = { val mailboxId1: MailboxId = server.getProbe(classOf[MailboxProbeImpl]).createMailbox(MailboxPath.forUser(BOB, "previousName")) server.getProbe(classOf[MailboxProbeImpl]).createMailbox(MailboxPath.forUser(BOB, "newName")) @@ -2278,6 +2320,5 @@ trait MailboxSetMethodContract { // TODO invalid path handling (unknown property, invalid name) // TODO disable destroy / rename of system mailbox - // TODO test that renames keeps subscriptions // TODO renaming delegated mailboxes is not allowed } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org