This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 55d09c779ed5011026ea3a07113c93b8f3c16d2d Author: Gautier DI FOLCO <gdifo...@linagora.com> AuthorDate: Tue Oct 29 16:12:53 2019 +0100 JAMES-2941 Return NO when an IMAP command unexpectedly fails --- .../org/apache/james/imap/processor/AbstractMailboxProcessor.java | 3 +++ .../org/apache/james/jmap/cassandra/CassandraImapErrorTest.java | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java index 69f4161..fcebc73 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java @@ -115,6 +115,9 @@ public abstract class AbstractMailboxProcessor<M extends ImapRequest> extends Ab } } catch (DeniedAccessOnSharedMailboxException e) { no(command, tag, responder, HumanReadableText.DENIED_SHARED_MAILBOX); + } catch (Exception unexpectedException) { + LOGGER.error("Unexpected error during IMAP processing", unexpectedException); + no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING); } } diff --git a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java index 3f4c4d1..f152a12 100644 --- a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java +++ b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java @@ -40,7 +40,6 @@ import org.apache.james.modules.protocols.ImapGuiceProbe; import org.apache.james.utils.DataProbeImpl; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import io.restassured.RestAssured; @@ -75,7 +74,6 @@ class CassandraImapErrorTest { } @Test - @Disabled void causingMajorIssueDuringIMAPSessionShouldEndWithNo(GuiceJamesServer server) throws Exception { IMAPClient imapClient = new IMAPClient(); try { @@ -87,7 +85,9 @@ class CassandraImapErrorTest { boolean isSelected = imapClient.select("INBOX"); assertThat(isSelected).isFalse(); - assertThat(imapClient.getReplyString()).startsWith("NO "); + String[] replyChunks = imapClient.getReplyString().split(" "); + assertThat(replyChunks).hasSizeGreaterThanOrEqualTo(2); + assertThat(replyChunks[1]).isEqualTo("NO"); } finally { imapClient.disconnect(); cassandraExtension.unpause(); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org