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 2018/03/29 09:46:23 UTC
[07/18] james-project git commit: JAMES-2363 LogMessage should not
fail on text / empty messages
JAMES-2363 LogMessage should not fail on text / empty messages
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/02f126a6
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/02f126a6
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/02f126a6
Branch: refs/heads/master
Commit: 02f126a6da9e13174e4fcc78314480c82e2330f0
Parents: bb6d6d0
Author: benwa <bt...@linagora.com>
Authored: Tue Mar 27 16:05:42 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Mar 29 16:43:04 2018 +0700
----------------------------------------------------------------------
.../james/transport/mailets/LogMessage.java | 12 ++++++++--
.../james/transport/mailets/LogMessageTest.java | 25 +++++++-------------
2 files changed, 18 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/02f126a6/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
index 1ae9eb5..0707359 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
@@ -117,12 +117,20 @@ public class LogMessage extends GenericMailet {
private void logBody(MimeMessage message) throws MessagingException, IOException {
if (body && logger.isInfoEnabled()) {
- InputStream inputStream = ByteStreams.limit(message.getRawInputStream(), lengthToLog(message));
+ InputStream inputStream = ByteStreams.limit(message.getDataHandler().getInputStream(), lengthToLog(message));
logger.info(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
}
}
private int lengthToLog(MimeMessage message) throws MessagingException {
- return bodyMax > 0 ? bodyMax : message.getSize();
+ return bodyMax > 0 ? bodyMax : messageSizeOrUnlimited(message);
+ }
+
+ private int messageSizeOrUnlimited(MimeMessage message) throws MessagingException {
+ int computedSize = message.getSize();
+ if (computedSize > 0) {
+ return computedSize;
+ }
+ return Integer.MAX_VALUE;
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/02f126a6/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
index 033231e..963d3e3 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
@@ -21,17 +21,14 @@ package org.apache.james.transport.mailets;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
-import java.util.Properties;
-
import javax.mail.MessagingException;
-import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import org.apache.james.core.builder.MimeMessageBuilder;
@@ -77,27 +74,21 @@ class LogMessageTest {
}
@Test
- void serviceShouldFailWhenMailHasNoStream() throws Exception {
+ public void serviceShouldNotFailWhenTextContent() throws Exception {
FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
.mailetName("LogContext")
.mailetContext(mailContext)
.build();
mailet.init(mailetConfig);
- MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
- message.addHeader("Date", "Tue, 16 Jan 2018 10:23:03 +0100");
- message.setSubject("subject");
- message.setText("This is a fake mail");
-
mailet.service(FakeMail.builder()
- .mimeMessage(message)
- .build());
+ .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
+ .addHeader("Date", "Tue, 16 Jan 2018 10:23:03 +0100")
+ .setSubject("subject")
+ .setText("This is a fake mail"))
+ .build());
- verify(logger).info("Logging mail {}", (Object) null);
- verify(logger, times(2)).isInfoEnabled();
- verify(logger).info("\n");
- verify(logger).info("Subject: subject\n");
- verify(logger).error(eq("Error logging message."), any(MessagingException.class));
+ verify(logger, times(0)).error(anyString(), any(MessagingException.class));
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org