JAMES-2341 Move header setting logic to SpamAssassinResult

This moves intends to:
 - Makes builder usage in SpamAssassinInvoker more fluent (one - liner)
 - Makes SpamAssassinResult self descriptive: all the information needed to 
read it is now self contained.

In the end, it allow headers generation to be fully handled by 
SpamAssassinResult


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/37c55399
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/37c55399
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/37c55399

Branch: refs/heads/master
Commit: 37c5539907b708cf93729eac221dcd5cb2b4a6a6
Parents: 3b99714
Author: benwa <[email protected]>
Authored: Tue Mar 6 09:18:29 2018 +0700
Committer: Antoine Duprat <[email protected]>
Committed: Thu Mar 8 10:36:36 2018 +0100

----------------------------------------------------------------------
 .../james/util/scanner/SpamAssassinInvoker.java | 30 ++++-----
 .../james/util/scanner/SpamAssassinResult.java  | 38 ++++++++----
 .../util/scanner/SpamAssassinInvokerTest.java   | 12 ++--
 .../util/scanner/SpamAssassinResultTest.java    | 65 ++++++++++++++------
 .../transport/mailets/SpamAssassinTest.java     | 18 +++---
 .../transport/matchers/IsMarkedAsSpam.java      |  4 +-
 .../transport/mailets/SpamAssassinTest.java     |  8 +--
 .../smtpserver/SpamAssassinHandlerTest.java     | 14 ++---
 8 files changed, 111 insertions(+), 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
----------------------------------------------------------------------
diff --git 
a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
 
b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
index 22a1431..0bcae3f 100644
--- 
a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
+++ 
b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
@@ -47,12 +47,6 @@ import com.google.common.collect.Lists;
 public class SpamAssassinInvoker {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(SpamAssassinInvoker.class);
 
-    /** The mail attribute under which the status get stored */
-    public static final String STATUS_MAIL_ATTRIBUTE_NAME = 
"org.apache.james.spamassassin.status";
-
-    /** The mail attribute under which the flag get stored */
-    public static final String FLAG_MAIL_ATTRIBUTE_NAME = 
"org.apache.james.spamassassin.flag";
-
     private static final int SPAM_INDEX = 1;
     private static final int HITS_INDEX = 3;
     private static final int REQUIRED_HITS_INDEX = 5;
@@ -130,21 +124,19 @@ public class SpamAssassinInvoker {
 
     private SpamAssassinResult processSpam(String line) {
         List<String> elements = Lists.newArrayList(Splitter.on(' 
').split(line));
-        boolean spam = spam(elements.get(SPAM_INDEX));
-        String hits = elements.get(HITS_INDEX);
-        String required = elements.get(REQUIRED_HITS_INDEX);
-        SpamAssassinResult.Builder builder = SpamAssassinResult.builder()
-            .hits(hits)
-            .requiredHits(required);
-
-        if (spam) {
-            builder.putHeader(FLAG_MAIL_ATTRIBUTE_NAME, "YES");
-            builder.putHeader(STATUS_MAIL_ATTRIBUTE_NAME, "Yes, hits=" + hits 
+ " required=" + required);
+
+        return builderFrom(elements)
+            .hits(elements.get(HITS_INDEX))
+            .requiredHits(elements.get(REQUIRED_HITS_INDEX))
+            .build();
+    }
+
+    private SpamAssassinResult.Builder builderFrom(List<String> elements) {
+        if (spam(elements.get(SPAM_INDEX))) {
+            return SpamAssassinResult.asSpam();
         } else {
-            builder.putHeader(FLAG_MAIL_ATTRIBUTE_NAME, "NO");
-            builder.putHeader(STATUS_MAIL_ATTRIBUTE_NAME, "No, hits=" + hits + 
" required=" + required);
+            return SpamAssassinResult.asHam();
         }
-        return builder.build();
     }
 
     private boolean spam(String string) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
----------------------------------------------------------------------
diff --git 
a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
 
b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
index 43d4dff..a48967f 100644
--- 
a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
+++ 
b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
@@ -24,28 +24,37 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
 
 public class SpamAssassinResult {
+    /** The mail attribute under which the status get stored */
+    public static final String STATUS_MAIL_ATTRIBUTE_NAME = 
"org.apache.james.spamassassin.status";
 
-    private static final String NO_RESULT = "?";
+    /** The mail attribute under which the flag get stored */
+    public static final String FLAG_MAIL_ATTRIBUTE_NAME = 
"org.apache.james.spamassassin.flag";
+
+    public static final String NO_RESULT = "?";
 
     public static SpamAssassinResult empty() {
-        return new Builder()
+        return asHam()
                 .hits(NO_RESULT)
                 .requiredHits(NO_RESULT)
                 .build();
     }
 
-    public static Builder builder() {
-        return new Builder();
+    public static Builder asSpam() {
+        return new Builder(true);
+    }
+
+    public static Builder asHam() {
+        return new Builder(false);
     }
 
     public static class Builder {
         
         private String hits;
         private String requiredHits;
-        private ImmutableMap.Builder<String, String> headersAsAttribute;
+        private final boolean isSpam;
 
-        private Builder() {
-            headersAsAttribute = ImmutableMap.builder();
+        private Builder(boolean isSpam) {
+            this.isSpam = isSpam;
         }
 
         public Builder hits(String hits) {
@@ -58,14 +67,19 @@ public class SpamAssassinResult {
             return this;
         }
 
-        public Builder putHeader(String name, String value) {
-            this.headersAsAttribute.put(name, value);
-            return this;
-        }
-
         public SpamAssassinResult build() {
             Preconditions.checkNotNull(hits);
             Preconditions.checkNotNull(requiredHits);
+
+            ImmutableMap.Builder<String, String> headersAsAttribute = 
ImmutableMap.builder();
+            if (isSpam) {
+                headersAsAttribute.put(FLAG_MAIL_ATTRIBUTE_NAME, "YES");
+                headersAsAttribute.put(STATUS_MAIL_ATTRIBUTE_NAME, "Yes, 
hits=" + hits + " required=" + requiredHits);
+            } else {
+                headersAsAttribute.put(FLAG_MAIL_ATTRIBUTE_NAME, "NO");
+                headersAsAttribute.put(STATUS_MAIL_ATTRIBUTE_NAME, "No, hits=" 
+ hits + " required=" + requiredHits);
+            }
+
             return new SpamAssassinResult(hits, requiredHits, 
headersAsAttribute.build());
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
 
b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
index 4dbd72d..6d6f9dc 100644
--- 
a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
+++ 
b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
@@ -34,7 +34,6 @@ public class SpamAssassinInvokerTest {
     private SpamAssassin spamAssassin;
     private SpamAssassinInvoker testee;
 
-
     @BeforeEach
     public void setup(SpamAssassin spamAssassin) throws Exception {
         this.spamAssassin = spamAssassin;
@@ -47,8 +46,7 @@ public class SpamAssassinInvokerTest {
                 ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
         SpamAssassinResult result = testee.scanMail(mimeMessage, "any@james");
 
-        // The result is varying from 0.4 to 0.0
-        assertThat(result.getHits()).startsWith("0.");
+        
assertThat(result.getHits()).isNotEqualTo(SpamAssassinResult.NO_RESULT);
     }
 
     @Test
@@ -70,7 +68,7 @@ public class SpamAssassinInvokerTest {
     }
 
     @Test
-    public void scanMailShouldMarkHasSpamWhenKnownHasSpam() throws Exception {
+    public void scanMailShouldMarkAsSpamWhenKnownAsSpam() throws Exception {
         spamAssassin.train("user");
         
         MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
@@ -78,13 +76,13 @@ public class SpamAssassinInvokerTest {
 
         SpamAssassinResult result = testee.scanMail(mimeMessage, "any@james");
 
-        
assertThat(result.getHeadersAsAttribute().get(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
+        
assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
     }
 
     @Test
     public void learnAsSpamShouldReturnTrueWhenLearningWorks() throws 
Exception {
         MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                
ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam1"));
+                
ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam2"));
 
         boolean result = testee.learnAsSpam(mimeMessage.getInputStream(), 
"any@james");
 
@@ -100,6 +98,6 @@ public class SpamAssassinInvokerTest {
 
         SpamAssassinResult result = testee.scanMail(mimeMessage, "any@james");
 
-        
assertThat(result.getHeadersAsAttribute().get(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
+        
assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
 
b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
index 1fe3dc2..0b67589 100644
--- 
a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
+++ 
b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
@@ -21,47 +21,76 @@ package org.apache.james.util.scanner;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.assertj.core.data.MapEntry;
+import org.assertj.core.api.JUnitSoftAssertions;
+import org.junit.Rule;
 import org.junit.Test;
 
+import com.google.common.collect.ImmutableMap;
+
 public class SpamAssassinResultTest {
 
+    @Rule
+    public JUnitSoftAssertions softly = new JUnitSoftAssertions();
+
     @Test
     public void buildShouldThrowWhenHitsIsNotGiven() {
-        assertThatThrownBy(() -> SpamAssassinResult.builder()
+        assertThatThrownBy(() -> SpamAssassinResult.asSpam()
+                .requiredHits("4.0")
                 .build())
             .isInstanceOf(NullPointerException.class);
-        
     }
 
     @Test
     public void buildShouldThrowWhenRequiredHitsIsNotGiven() {
-        assertThatThrownBy(() -> SpamAssassinResult.builder()
-                .hits("1.0")
+        assertThatThrownBy(() -> SpamAssassinResult.asSpam()
+                .hits("4.0")
                 .build())
             .isInstanceOf(NullPointerException.class);
-        
     }
 
     @Test
     public void buildShouldWork() {
         String hits = "1.1";
         String requiredHits = "5.0";
-        String name = "header";
-        String value = "value";
-        String name2 = "header2";
-        String value2 = "value2";
-        SpamAssassinResult spamAssassinResult = SpamAssassinResult.builder()
+
+        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asSpam()
+            .hits(hits)
+            .requiredHits(requiredHits)
+            .build();
+
+        softly.assertThat(spamAssassinResult.getHits()).isEqualTo(hits);
+        
softly.assertThat(spamAssassinResult.getRequiredHits()).isEqualTo(requiredHits);
+        softly.assertThat(spamAssassinResult.getHeadersAsAttribute())
+            .containsAllEntriesOf(ImmutableMap.of(
+                SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "YES",
+                SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME, "Yes, hits=1.1 
required=5.0"));
+    }
+
+    @Test
+    public void 
headersAsAttributeShouldContainSpamHeaderWithYESValueWhenBuiltAsSpam() {
+        String hits = "1.1";
+        String requiredHits = "5.0";
+
+        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asSpam()
+            .hits(hits)
+            .requiredHits(requiredHits)
+            .build();
+
+        assertThat(spamAssassinResult.getHeadersAsAttribute())
+            .containsEntry(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "YES");
+    }
+
+    @Test
+    public void 
headersAsAttributeShouldContainSpamHeaderWithNOValueWhenBuiltAsHam() {
+        String hits = "1.1";
+        String requiredHits = "5.0";
+
+        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asHam()
             .hits(hits)
             .requiredHits(requiredHits)
-            .putHeader(name, value)
-            .putHeader(name2, value2)
             .build();
 
-        assertThat(spamAssassinResult.getHits()).isEqualTo(hits);
-        
assertThat(spamAssassinResult.getRequiredHits()).isEqualTo(requiredHits);
-        assertThat(spamAssassinResult.getHeadersAsAttribute()).containsOnly(
-                MapEntry.entry(name, value),
-                MapEntry.entry(name2, value2));
+        assertThat(spamAssassinResult.getHeadersAsAttribute())
+            .containsEntry(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "NO");
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index bd1d74b..3eb88bc 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -40,7 +40,7 @@ import 
org.apache.james.mailets.configuration.ProcessorConfiguration;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.util.docker.Images;
 import org.apache.james.util.docker.SwarmGenericContainer;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.james.util.scanner.SpamAssassinResult;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
@@ -82,8 +82,8 @@ public class SpamAssassinTest {
                         .matcher(All.class)
                         .mailet(MailAttributesToMimeHeaders.class)
                         .addProperty("simplemapping",
-                            SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME + ";" 
+ SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME + "," +
-                            SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME + 
";" + SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME))
+                            SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME + ";" 
+ SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME + "," +
+                                SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME 
+ ";" + SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME))
                     .addMailetsFrom(CommonProcessors.deliverOnlyTransport()));
 
         jamesServer = TemporaryJamesServer.builder()
@@ -115,8 +115,8 @@ public class SpamAssassinTest {
 
         assertThat(messageReader.readFirstMessageHeaders())
             .contains(
-                SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME,
-                SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME);
+                SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME,
+                SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME);
     }
 
     @Test
@@ -131,8 +131,8 @@ public class SpamAssassinTest {
             .awaitMessage(awaitAtMostOneMinute);
 
         String receivedHeaders = messageReader.readFirstMessageHeaders();
-        
assertThat(receivedHeaders).contains(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME
 + ": YES");
-        
assertThat(receivedHeaders).contains(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME
 + ": Yes");
+        
assertThat(receivedHeaders).contains(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME
 + ": YES");
+        
assertThat(receivedHeaders).contains(SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME
 + ": Yes");
     }
 
     @Test
@@ -147,8 +147,8 @@ public class SpamAssassinTest {
             .awaitMessage(awaitAtMostOneMinute);
 
         String receivedHeaders = messageReader.readFirstMessageHeaders();
-        
assertThat(receivedHeaders).contains(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME
 + ": NO");
-        
assertThat(receivedHeaders).contains(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME
 + ": No");
+        
assertThat(receivedHeaders).contains(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME
 + ": NO");
+        
assertThat(receivedHeaders).contains(SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME
 + ": No");
     }
 
     private FakeMail.Builder mailWithContent(String textContent) throws 
MessagingException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
index 4faea53..f3e6db4 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
@@ -26,7 +26,7 @@ import java.util.Locale;
 import javax.mail.MessagingException;
 
 import org.apache.james.core.MailAddress;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.james.util.scanner.SpamAssassinResult;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.GenericMatcher;
 
@@ -66,7 +66,7 @@ public class IsMarkedAsSpam extends GenericMatcher {
 
     @Override
     public Collection<MailAddress> match(Mail mail) throws MessagingException {
-        Serializable attribute = 
mail.getAttribute(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME);
+        Serializable attribute = 
mail.getAttribute(SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME);
         if (isMarkedAsSpam(attribute)) {
             return mail.getRecipients();
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index af1836c..bc503de 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -27,7 +27,7 @@ import javax.mail.MessagingException;
 import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.user.memory.MemoryUsersRepository;
 import org.apache.james.util.Port;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.james.util.scanner.SpamAssassinResult;
 import org.apache.james.utils.MockSpamd;
 import org.apache.james.utils.MockSpamdTestRule;
 import org.apache.mailet.Mail;
@@ -156,7 +156,7 @@ public class SpamAssassinTest {
         mailet.service(mail);
 
         assertThat(mail.getAttributeNames())
-            .containsOnly(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME, 
SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME);
+            .containsOnly(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, 
SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME);
     }
 
     @Test
@@ -179,7 +179,7 @@ public class SpamAssassinTest {
 
         mailet.service(mail);
 
-        
assertThat(mail.getAttribute(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("NO");
+        
assertThat(mail.getAttribute(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("NO");
     }
 
     @Test
@@ -202,7 +202,7 @@ public class SpamAssassinTest {
 
         mailet.service(mail);
 
-        
assertThat(mail.getAttribute(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
+        
assertThat(mail.getAttribute(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/37c55399/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
index 6207043..ff34d85 100644
--- 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
+++ 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
@@ -34,7 +34,7 @@ import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.fastfail.SpamAssassinHandler;
 import org.apache.james.smtpserver.mock.mailet.MockMail;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.james.util.scanner.SpamAssassinResult;
 import org.apache.james.utils.MockSpamd;
 import org.apache.james.utils.MockSpamdTestRule;
 import org.apache.mailet.Mail;
@@ -120,8 +120,8 @@ public class SpamAssassinHandlerTest {
         HookResult response = handler.onMessage(session, mockedMail);
 
         assertEquals("Email was not rejected", response.getResult(), 
HookReturnCode.DECLINED);
-        assertEquals("email was not spam", 
mockedMail.getAttribute(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "NO");
-        assertNotNull("spam hits", 
mockedMail.getAttribute(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
+        assertEquals("email was not spam", 
mockedMail.getAttribute(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME), "NO");
+        assertNotNull("spam hits", 
mockedMail.getAttribute(SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME));
 
     }
 
@@ -137,8 +137,8 @@ public class SpamAssassinHandlerTest {
         HookResult response = handler.onMessage(session, mockedMail);
 
         assertEquals("Email was not rejected", response.getResult(), 
HookReturnCode.DECLINED);
-        assertEquals("email was spam", 
mockedMail.getAttribute(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
-        assertNotNull("spam hits", 
mockedMail.getAttribute(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
+        assertEquals("email was spam", 
mockedMail.getAttribute(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
+        assertNotNull("spam hits", 
mockedMail.getAttribute(SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME));
     }
 
     @Test
@@ -153,7 +153,7 @@ public class SpamAssassinHandlerTest {
         HookResult response = handler.onMessage(session, mockedMail);
 
         assertEquals("Email was rejected", response.getResult(), 
HookReturnCode.DENY);
-        assertEquals("email was spam", 
mockedMail.getAttribute(SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
-        assertNotNull("spam hits", 
mockedMail.getAttribute(SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
+        assertEquals("email was spam", 
mockedMail.getAttribute(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
+        assertNotNull("spam hits", 
mockedMail.getAttribute(SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME));
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to