JAMES-2580 Tagging BasicFeature to JMAP integration tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4a70fe5f Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4a70fe5f Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4a70fe5f Branch: refs/heads/master Commit: 4a70fe5fea6445bf33ff573a8f0ad43d1d7e0969 Parents: b917d26 Author: tran tien duc <dt...@linagora.com> Authored: Wed Oct 31 16:40:13 2018 +0700 Committer: Antoine Duprat <adup...@linagora.com> Committed: Wed Nov 7 14:10:29 2018 +0100 ---------------------------------------------------------------------- .../james/jmap/JMAPAuthenticationTest.java | 16 ++++++++++++---- .../org/apache/james/jmap/ProvisioningTest.java | 3 +++ .../james/jmap/VacationIntegrationTest.java | 3 +++ .../james/jmap/VacationRelayIntegrationTest.java | 3 +++ .../jmap/methods/integration/FilterTest.java | 9 ++++++++- .../integration/ForwardIntegrationTest.java | 3 +++ .../integration/GetMailboxesMethodTest.java | 9 +++++++++ .../integration/GetMessageListMethodTest.java | 17 +++++++++++++++-- .../integration/GetVacationResponseTest.java | 4 ++++ .../methods/integration/QuotaMailingTest.java | 3 +++ .../methods/integration/SendMDNMethodTest.java | 3 +++ .../integration/SetMailboxesMethodTest.java | 9 +++++++++ .../integration/SetMessagesMethodTest.java | 19 +++++++++++++++++++ .../integration/SetVacationResponseTest.java | 4 ++++ 14 files changed, 98 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java index 406ce41..e2f4e35 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java @@ -33,12 +33,14 @@ import java.time.format.DateTimeFormatter; import java.util.UUID; import org.apache.james.GuiceJamesServer; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.jmap.model.ContinuationToken; import org.apache.james.utils.DataProbeImpl; import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; import io.restassured.http.ContentType; @@ -186,6 +188,7 @@ public abstract class JMAPAuthenticationTest { .body("methods", hasItem(userCredentials.getPassword())); } + @Category(BasicFeature.class) @Test public void mustReturnContinuationTokenWhenValidResquest() throws Exception { given() @@ -199,6 +202,7 @@ public abstract class JMAPAuthenticationTest { .body("continuationToken", isA(String.class)); } + @Category(BasicFeature.class) @Test public void mustReturnAuthenticationFailedWhenBadPassword() throws Exception { String continuationToken = fromGoodContinuationTokenRequest(); @@ -271,6 +275,7 @@ public abstract class JMAPAuthenticationTest { .statusCode(201); } + @Category(BasicFeature.class) @Test public void mustSendJsonContainingAccessTokenAndEndpointsWhenGoodPassword() throws Exception { String continuationToken = fromGoodContinuationTokenRequest(); @@ -291,7 +296,7 @@ public abstract class JMAPAuthenticationTest { } @Test - public void getMustReturnUnauthorizedWithoutAuthroizationHeader() throws Exception { + public void getMustReturnUnauthorizedWithoutAuthorizationHeader() throws Exception { given() .when() .get("/authentication") @@ -300,7 +305,7 @@ public abstract class JMAPAuthenticationTest { } @Test - public void getMustReturnUnauthorizedWithoutAValidAuthroizationHeader() throws Exception { + public void getMustReturnUnauthorizedWithoutAValidAuthorizationHeader() throws Exception { given() .header("Authorization", UUID.randomUUID()) .when() @@ -309,6 +314,7 @@ public abstract class JMAPAuthenticationTest { .statusCode(401); } + @Category(BasicFeature.class) @Test public void getMustReturnEndpointsWhenValidAuthorizationHeader() throws Exception { String continuationToken = fromGoodContinuationTokenRequest(); @@ -326,6 +332,7 @@ public abstract class JMAPAuthenticationTest { .body("download", equalTo("/download")); } + @Category(BasicFeature.class) @Test public void getMustReturnEndpointsWhenValidJwtAuthorizationHeader() throws Exception { String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.T04BTk" + @@ -357,7 +364,7 @@ public abstract class JMAPAuthenticationTest { .then() .statusCode(200); } - + @Test public void getMustReturnBadCredentialsWhenInvalidJwtAuthorizationHeader() throws Exception { String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.T04BTk" + @@ -417,7 +424,7 @@ public abstract class JMAPAuthenticationTest { .then() .statusCode(401); } - + @Test public void deleteMustReturnOKNoContentOnValidAuthorizationToken() throws Exception { String continuationToken = fromGoodContinuationTokenRequest(); @@ -430,6 +437,7 @@ public abstract class JMAPAuthenticationTest { .statusCode(204); } + @Category(BasicFeature.class) @Test public void deleteMustInvalidAuthorizationOnCorrectAuthorization() throws Exception { String continuationToken = fromGoodContinuationTokenRequest(); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ProvisioningTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ProvisioningTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ProvisioningTest.java index d977042..d45e9c9 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ProvisioningTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/ProvisioningTest.java @@ -33,6 +33,7 @@ import java.io.IOException; import java.time.Duration; import org.apache.james.GuiceJamesServer; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.modules.MailboxProbeImpl; import org.apache.james.util.concurrency.ConcurrentTestRunner; @@ -41,6 +42,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; @@ -98,6 +100,7 @@ public abstract class ProvisioningTest { .body(ARGUMENTS + ".list.name", hasItems(DefaultMailboxes.DEFAULT_MAILBOXES.toArray())); } + @Category(BasicFeature.class) @Test public void provisionMailboxesShouldSubscribeToThem() throws Exception { String token = authenticateJamesUser(baseUri(jmapServer), USER, PASSWORD).serialize(); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java index 6402152..6c2cb3b 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java @@ -42,6 +42,7 @@ import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.VacationPatch; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.probe.MailboxProbe; @@ -52,6 +53,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; @@ -99,6 +101,7 @@ public abstract class VacationIntegrationTest { guiceJamesServer.stop(); } + @Category(BasicFeature.class) @Test public void jmapVacationShouldGenerateAReplyWhenActive() throws Exception { /* Test scenario : http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java index 582a8f5..d619348 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java @@ -33,6 +33,7 @@ import org.apache.james.GuiceJamesServer; import org.apache.james.dnsservice.api.InMemoryDNSService; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.VacationPatch; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.probe.MailboxProbe; @@ -47,6 +48,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; +import org.junit.experimental.categories.Category; public abstract class VacationRelayIntegrationTest { @@ -97,6 +99,7 @@ public abstract class VacationRelayIntegrationTest { guiceJamesServer.stop(); } + @Category(BasicFeature.class) @Test public void forwardingAnEmailShouldWork() throws Exception { jmapGuiceProbe.modifyVacation(AccountId.fromString(USER_WITH_DOMAIN), VacationPatch http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java index fee2696..db25b20 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java @@ -46,6 +46,7 @@ import java.util.Locale; import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.JmapCommonRequests; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.modules.MailboxProbeImpl; @@ -55,6 +56,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; @@ -155,6 +157,7 @@ public abstract class FilterTest { .body(ARGUMENTS + ".description", equalTo("The field 'accountId' of 'GetFilterRequest' is not supported")); } + @Category(BasicFeature.class) @Test public void setFilterShouldOverwritePreviouslyStoredRules() { MailboxId mailbox1 = randomMailboxId(); @@ -436,6 +439,7 @@ public abstract class FilterTest { .body(ARGUMENTS + ".updated", hasSize(1)); } + @Category(BasicFeature.class) @Test public void getFilterShouldRetrievePreviouslyStoredRules() { MailboxId mailbox1 = randomMailboxId(); @@ -510,6 +514,7 @@ public abstract class FilterTest { .body(ARGUMENTS + ".singleton[1].action.appendIn.mailboxIds", containsInAnyOrder(mailbox2.serialize())); } + @Category(BasicFeature.class) @Test public void setFilterShouldClearPreviouslyStoredRulesWhenEmptyBody() { MailboxId mailbox = randomMailboxId(); @@ -689,6 +694,7 @@ public abstract class FilterTest { .body(ARGUMENTS + ".singleton[4].condition.comparator", equalTo("contains")); } + @Category(BasicFeature.class) @Test public void messageShouldBeAppendedInSpecificMailboxWhenFromRuleMatches() { given() @@ -1020,6 +1026,7 @@ public abstract class FilterTest { () -> JmapCommonRequests.isAnyMessageFoundInRecipientsMailbox(accessToken, matchedMailbox)); } + @Category(BasicFeature.class) @Test public void messageShouldBeAppendedInInboxWhenFromDoesNotMatchRule() { given() @@ -1299,7 +1306,7 @@ public abstract class FilterTest { @Test - public void messageShouldBeAppendedInInboxWhenSubjectRuleDoesNotMatchRuleBecaseOfCase() { + public void messageShouldBeAppendedInInboxWhenSubjectRuleDoesNotMatchRuleBecauseOfCase() { given() .header("Authorization", accessToken.serialize()) .body("[[" + http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java index fe8cf43..115a5da 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java @@ -44,6 +44,7 @@ import java.util.concurrent.TimeUnit; import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.probe.DataProbe; import org.apache.james.utils.DataProbeImpl; import org.apache.james.utils.JmapGuiceProbe; @@ -55,6 +56,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; import io.restassured.specification.RequestSpecification; @@ -95,6 +97,7 @@ public abstract class ForwardIntegrationTest { jmapServer.stop(); } + @Category(BasicFeature.class) @Test public void messageShouldBeForwardedWhenDefinedInRESTAPI() { webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE, BOB)); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java index 5fcd373..d9a9689 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java @@ -58,6 +58,7 @@ import org.apache.james.GuiceJamesServer; import org.apache.james.core.quota.QuotaCount; import org.apache.james.core.quota.QuotaSize; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.jmap.model.mailbox.MailboxNamespace; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.MessageManager.AppendCommand; @@ -80,6 +81,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -175,6 +177,7 @@ public abstract class GetMailboxesMethodTest { .body(ARGUMENTS + ".type", equalTo("invalidArguments")); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnMailboxesWhenIdsMatch() { String mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, DefaultMailboxes.INBOX).serialize(); @@ -225,6 +228,7 @@ public abstract class GetMailboxesMethodTest { .body(ARGUMENTS + ".list", empty()); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnAllMailboxesWhenIdsIsNull() { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "myMailbox"); @@ -344,6 +348,7 @@ public abstract class GetMailboxesMethodTest { .body(ARGUMENTS + ".description", containsString("{\"ids\":true}")); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnDefaultMailboxesWhenAuthenticatedUserDoesntHaveAnAccountYet() { String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMzM3QGRvbWFpbi50bGQiLCJuYW1lIjoiTmV3IFVzZXIif" @@ -526,6 +531,7 @@ public abstract class GetMailboxesMethodTest { .body(FIRST_MAILBOX + ".role", equalTo(DefaultMailboxes.OUTBOX.toLowerCase(Locale.US))); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnMailboxesWithFilteredSharedWithWhenShared() throws Exception { String mailboxName = "name"; @@ -574,6 +580,7 @@ public abstract class GetMailboxesMethodTest { assertThat(sharedWith).containsOnlyKeys(ALICE, CEDRIC); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnAllAccessibleMailboxesWhenEmptyIds() throws Exception { String sharedMailboxName = "BobShared"; @@ -778,6 +785,7 @@ public abstract class GetMailboxesMethodTest { .body(FIRST_MAILBOX + ".quotas['#private&al...@domain.tld']['MESSAGE'].max", nullValue()); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnMaxStorageQuotasForInboxWhenSet() throws Exception { quotaProbe.setGlobalMaxStorage(SerializableQuotaValue.valueOf(Optional.of(QuotaSize.size(42)))); @@ -867,6 +875,7 @@ public abstract class GetMailboxesMethodTest { .body(FIRST_MAILBOX + ".quotas['#private&al...@domain.tld']['MESSAGE'].used", equalTo(0)); } + @Category(BasicFeature.class) @Test public void getMailboxesShouldReturnUpdatedQuotasForInboxWhenMailReceived() throws Exception { String mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, DefaultMailboxes.INBOX).serialize(); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java index f1643a4..525a618 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java @@ -50,6 +50,7 @@ import javax.mail.Flags; import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.jmap.model.Number; import org.apache.james.mailbox.FlagsBuilder; import org.apache.james.mailbox.MessageManager; @@ -75,6 +76,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; @@ -142,8 +144,9 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", empty()); } + @Category(BasicFeature.class) @Test - public void getMessageListShouldListMessageWhenTheUserHasOnlyReadRight() throws Exception { + public void getMessagesListShouldListMessageWhenTheUserHasOnlyReadRight() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, BOB, "delegated"); MailboxPath delegatedMailboxPath = MailboxPath.forUser(BOB, "delegated"); ComposedMessageId message = mailboxProbe.appendMessage(BOB, delegatedMailboxPath, @@ -235,6 +238,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", contains(message.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldNotDuplicateMessagesInSeveralMailboxes() throws Exception { MailboxId mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -498,6 +502,7 @@ public abstract class GetMessageListMethodTest { not(containsInAnyOrder(messageForwarded.getMessageId().serialize())))); } + @Category(BasicFeature.class) @Test public void getMessageListANDOperatorShouldReturnMessagesWhichMatchAllConditions() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -748,6 +753,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", containsInAnyOrder(message1.getMessageId().serialize(), message2.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldReturnAllMessagesOfCurrentUserOnlyWhenMultipleMailboxesAndNoParameters() throws Exception { String otherUser = "other@" + DOMAIN; @@ -779,6 +785,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", containsInAnyOrder(message1.getMessageId().serialize(), message2.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldExcludeMessagesWhenInMailboxesFilterMatches() throws Exception { MailboxId mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -859,7 +866,7 @@ public abstract class GetMessageListMethodTest { } @Test - public void getMessageListShouldExcludeMessagesWhenIdenticalNotInMailboxesAndInmailboxesFilterMatch() throws Exception { + public void getMessageListShouldExcludeMessagesWhenIdenticalNotInMailboxesAndInMailboxesFilterMatch() throws Exception { MailboxId mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); mailboxProbe.appendMessage(ALICE, MailboxPath.forUser(ALICE, "mailbox"), new ByteArrayInputStream("Subject: test\r\n\r\ntestmail".getBytes()), new Date(), false, new Flags()); @@ -952,6 +959,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", empty()); } + @Category(BasicFeature.class) @Test public void getMessageListShouldIncludeMessagesWhenTextFilterMatchesBody() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -1178,6 +1186,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", contains(composedMessageId.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldSortMessagesWhenSortedByDateDefault() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -1472,6 +1481,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", contains(message3.getMessageId().serialize(), message2.getMessageId().serialize(), message1.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldSupportIdSorting() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -1584,6 +1594,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", contains(message2.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldReturnSkipMessagesWhenPositionAndLimitGiven() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -1678,6 +1689,7 @@ public abstract class GetMessageListMethodTest { .body(ARGUMENTS + ".messageIds", containsInAnyOrder(message1.getMessageId().serialize(), message2.getMessageId().serialize(), message3.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldChainFetchingMessagesWhenAskedFor() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); @@ -1702,6 +1714,7 @@ public abstract class GetMessageListMethodTest { .body("[1][1].list[0].id", equalTo(message.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void getMessageListShouldComputeTextBodyWhenNoTextBodyButHtmlBody() throws Exception { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE, "mailbox"); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java index 2311acb..f4bc58a 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java @@ -40,6 +40,7 @@ import org.apache.james.jmap.FixedDateZonedDateTimeProvider; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.VacationPatch; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.probe.DataProbe; import org.apache.james.util.date.ZonedDateTimeProvider; import org.apache.james.utils.DataProbeImpl; @@ -47,6 +48,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; import io.restassured.http.ContentType; @@ -90,6 +92,7 @@ public abstract class GetVacationResponseTest { jmapServer.stop(); } + @Category(BasicFeature.class) @Test public void getVacationResponseShouldReturnDefaultValue() { given() @@ -115,6 +118,7 @@ public abstract class GetVacationResponseTest { .body(ARGUMENTS + ".list[0].htmlBody", nullValue()); } + @Category(BasicFeature.class) @Test public void getVacationResponseShouldReturnStoredValue() { jmapGuiceProbe.modifyVacation(AccountId.fromString(ALICE), http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/QuotaMailingTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/QuotaMailingTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/QuotaMailingTest.java index 0769ea4..7bfde75 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/QuotaMailingTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/QuotaMailingTest.java @@ -40,6 +40,7 @@ import java.util.stream.Collectors; import org.apache.james.GuiceJamesServer; import org.apache.james.core.quota.QuotaSize; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.SerializableQuotaValue; @@ -52,6 +53,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.common.base.Strings; @@ -95,6 +97,7 @@ public abstract class QuotaMailingTest { jmapServer.stop(); } + @Category(BasicFeature.class) @Test public void shouldSendANoticeWhenThresholdExceeded() throws Exception { jmapServer.getProbe(QuotaProbesImpl.class) http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java index 52a4d42..5cd4620 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java @@ -48,6 +48,7 @@ import org.apache.james.GuiceJamesServer; import org.apache.james.core.quota.QuotaSize; import org.apache.james.jmap.MessageAppender; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.model.MailboxConstants; @@ -63,6 +64,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.common.collect.Iterables; @@ -278,6 +280,7 @@ public abstract class SendMDNMethodTest { "Explanation: Disposition-Notification-To header is missing"))); } + @Category(BasicFeature.class) @Test public void sendMDNShouldSendAMDNBackToTheOriginalMessageAuthor() { String bartSentJmapMessageId = bartSendMessageToHomer(); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java index ee25989..6ea2ce6 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java @@ -48,6 +48,7 @@ import java.io.IOException; import org.apache.commons.lang3.StringUtils; import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.model.MailboxACL; @@ -65,6 +66,7 @@ import org.hamcrest.Matchers; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -240,6 +242,7 @@ public abstract class SetMailboxesMethodTest { assertThat(mailboxProbe.listSubscriptions(username)).doesNotContain(overLimitName); } + @Category(BasicFeature.class) @Test public void userShouldBeSubscribedOnCreatedMailboxWhenCreateMailbox() throws Exception { String requestBody = @@ -410,6 +413,7 @@ public abstract class SetMailboxesMethodTest { DefaultMailboxes.DRAFTS); } + @Category(BasicFeature.class) @Test public void subscriptionUserShouldBeDeletedWhenCreateThenDestroyMailboxWithJMAP() throws Exception { String requestBody = @@ -521,6 +525,7 @@ public abstract class SetMailboxesMethodTest { .body(ARGUMENTS + ".description", equalTo("The field 'sortOrder' of 'MailboxCreateRequest' is not supported")); } + @Category(BasicFeature.class) @Test public void setMailboxesShouldReturnCreatedMailbox() { String requestBody = @@ -866,6 +871,7 @@ public abstract class SetMailboxesMethodTest { )); } + @Category(BasicFeature.class) @Test public void setMailboxesShouldReturnDestroyedMailbox() { MailboxId mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, username, "myBox"); @@ -1117,6 +1123,7 @@ public abstract class SetMailboxesMethodTest { .body(ARGUMENTS + ".updated", contains(mailboxId.serialize())); } + @Category(BasicFeature.class) @Test public void setMailboxesShouldReturnUpdatedWhenNameUpdateAskedOnExistingMailbox() { MailboxId mailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, username, "myBox"); @@ -1324,6 +1331,7 @@ public abstract class SetMailboxesMethodTest { .body(FIRST_MAILBOX + ".sharedWith", hasEntry(user, ImmutableList.of(ADMINISTER, WRITE))); } + @Category(BasicFeature.class) @Test public void updateShouldModifyStoredDataWhenUpdatingACL() { String myBox = "myBox"; @@ -1539,6 +1547,7 @@ public abstract class SetMailboxesMethodTest { .body(ARGUMENTS + ".list[0].name", equalTo("myRenamedBox")); } + @Category(BasicFeature.class) @Test public void setMailboxesShouldReturnMailboxIdWhenMovingToAnotherParentMailbox() { MailboxId mailboxId = mailboxProbe http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java index 58635d5..a4c3b70 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java @@ -77,6 +77,7 @@ import org.apache.james.core.quota.QuotaSize; import org.apache.james.jmap.HttpJmapAuthentication; import org.apache.james.jmap.MessageAppender; import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.Event; import org.apache.james.mailbox.FlagsBuilder; @@ -119,6 +120,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; @@ -282,6 +284,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".destroyed", contains(message.getMessageId().serialize())); } + @Category(BasicFeature.class) @Test public void setMessagesShouldDeleteMessageWhenMatchingMessage() throws Exception { // Given @@ -436,6 +439,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".updated", hasSize(0)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldUpdateKeywordsWhenKeywordsArePassed() throws MailboxException { mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, USERNAME, "mailbox"); @@ -984,6 +988,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".updated", hasSize(0)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldReturnCreatedMessageWhenSendingMessage() { String messageCreationId = "creationId1337"; @@ -1281,6 +1286,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".created[\"" + messageCreationId + "\"].keywords.$Flagged", equalTo(true)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldAllowDraftCreation() { String messageCreationId = "creationId1337"; @@ -1315,6 +1321,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".created", hasKey(messageCreationId)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldNotAllowDraftCreationWhenOverQuota() throws MailboxException { QuotaProbe quotaProbe = jmapServer.getProbe(QuotaProbesImpl.class); @@ -1355,6 +1362,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".notCreated[\"" + messageCreationId + "\"].type", equalTo("maxQuotaReached")); } + @Category(BasicFeature.class) @Test public void setMessagesWithABigBodyShouldReturnCreatedMessageWhenSendingMessage() { RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(LogDetail.HEADERS); @@ -1430,6 +1438,7 @@ public abstract class SetMessagesMethodTest { } } + @Category(BasicFeature.class) @Test public void setMessagesShouldNotAllowCopyWhenOverQuota() throws MailboxException { QuotaProbe quotaProbe = jmapServer.getProbe(QuotaProbesImpl.class); @@ -2096,6 +2105,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".notCreated[\"" + messageCreationId + "\"].description", endsWith("MailboxId invalid")); } + @Category(BasicFeature.class) @Test public void setMessagesShouldSendMessageByMovingDraftToOutbox() { String draftCreationId = "creationId1337"; @@ -2337,6 +2347,7 @@ public abstract class SetMessagesMethodTest { && added.getMetaData(added.getUids().get(0)).getMessageId().serialize().equals(messageId); } + @Category(BasicFeature.class) @Test public void setMessagesShouldMoveMessageInSentWhenMessageIsSent() { // Given @@ -2724,6 +2735,7 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".created", aMapWithSize(0)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldDeliverMessageToRecipient() throws Exception { // Sender @@ -2766,6 +2778,7 @@ public abstract class SetMessagesMethodTest { calmlyAwait.atMost(30, TimeUnit.SECONDS).until(() -> isAnyMessageFoundInRecipientsMailboxes(recipientToken)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldTriggerMaxQuotaReachedWhenTryingToSendMessageAndQuotaReached() throws Exception { QuotaProbe quotaProbe = jmapServer.getProbe(QuotaProbesImpl.class); @@ -3238,6 +3251,7 @@ public abstract class SetMessagesMethodTest { .spec(getSetMessagesUpdateOKResponseAssertions(messageToMoveId)); } + @Category(BasicFeature.class) @Test public void mailboxIdsShouldBeInDestinationWhenUsingForMove() throws Exception { String newMailboxName = "heartFolder"; @@ -3280,6 +3294,7 @@ public abstract class SetMessagesMethodTest { .body(firstMessage + ".mailboxIds", contains(heartFolderId)); } + @Category(BasicFeature.class) @Test public void mailboxIdsShouldNotBeAnymoreInSourceWhenUsingForMove() throws Exception { String newMailboxName = "heartFolder"; @@ -3323,6 +3338,7 @@ public abstract class SetMessagesMethodTest { .body(firstMessage + ".mailboxIds", not(contains(inboxId))); } + @Category(BasicFeature.class) @Test public void mailboxIdsShouldBeInBothMailboxWhenUsingForCopy() throws Exception { String newMailboxName = "heartFolder"; @@ -4044,6 +4060,7 @@ public abstract class SetMessagesMethodTest { checkBlobContent(blobId, rawBytes); } + @Category(BasicFeature.class) @Test public void attachmentsShouldBeRetrievedWhenChainingSetMessagesAndGetMessagesTextAttachment() throws Exception { byte[] rawBytes = ByteStreams.toByteArray(new ZeroedInputStream(_1MB)); @@ -4599,6 +4616,7 @@ public abstract class SetMessagesMethodTest { hasEntry("X-Forwarded-Message-Id", "forward value"))); } + @Category(BasicFeature.class) @Test public void setMessagesShouldUpdateIsAnsweredWhenInReplyToHeaderSentViaOutbox() throws Exception { OriginalMessage firstMessage = receiveFirstMessage(); @@ -4645,6 +4663,7 @@ public abstract class SetMessagesMethodTest { .body(message + ".isAnswered", equalTo(true)); } + @Category(BasicFeature.class) @Test public void setMessagesShouldUpdateIsForwardedWhenXForwardedHeaderSentViaOutbox() throws Exception { OriginalMessage firstMessage = receiveFirstMessage(); http://git-wip-us.apache.org/repos/asf/james-project/blob/4a70fe5f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java index 352ee30..14e35a8 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java @@ -38,12 +38,14 @@ import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.Vacation; import org.apache.james.jmap.api.vacation.VacationPatch; +import org.apache.james.jmap.categories.BasicFeature; import org.apache.james.util.ValuePatch; import org.apache.james.utils.DataProbeImpl; import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import io.restassured.RestAssured; import io.restassured.http.ContentType; @@ -169,6 +171,7 @@ public abstract class SetVacationResponseTest { .body(ARGUMENTS + ".notUpdated.singleton.description", equalTo("There is one VacationResponse object per account, with id set to \\\"singleton\\\" and not to " + id)); } + @Category(BasicFeature.class) @Test public void setVacationResponseShouldReturnCorrectAnswerUponValidVacationResponse() { String bodyRequest = "[[" + @@ -208,6 +211,7 @@ public abstract class SetVacationResponseTest { assertThat(vacation.getSubject()).contains(SUBJECT); } + @Category(BasicFeature.class) @Test public void setVacationResponseShouldAllowResets() { jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org