You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/04 02:30:00 UTC
[james-project] 02/10: JAMES-2941 Return NO when an IMAP command
unexpectedly fails
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 <gd...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org