[prev in list] [next in list] [prev in thread] [next in thread]
List: james-dev
Subject: [09/13] james-project git commit: JAMES-2262 Improve MockSpamD location
From: btellier () apache ! org
Date: 2017-12-25 4:26:53
Message-ID: 43b43a4988254beca6136068bcc4b4e9 () git ! apache ! org
[Download RAW message or body]
JAMES-2262 Improve MockSpamD location
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/71f6fe24
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/71f6fe24
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/71f6fe24
Branch: refs/heads/master
Commit: 71f6fe24844f2662549b4d20d154d43f848cd5a3
Parents: 9c23977
Author: benwa <btellier@linagora.com>
Authored: Fri Dec 22 09:41:54 2017 +0700
Committer: benwa <btellier@linagora.com>
Committed: Mon Dec 25 11:24:56 2017 +0700
----------------------------------------------------------------------
server/mailet/mailets/pom.xml | 12 +-
.../transport/mailets/SpamAssassinTest.java | 4 +-
server/protocols/protocols-smtp/pom.xml | 5 +
.../smtpserver/SpamAssassinHandlerTest.java | 4 +-
.../james/smtpserver/mock/util/MockSpamd.java | 109 -------------------
.../smtpserver/mock/util/MockSpamdTestRule.java | 46 --------
server/testing/pom.xml | 1 -
.../java/org/apache/james/utils/MockSpamd.java | 109 +++++++++++++++++++
.../apache/james/utils/MockSpamdTestRule.java | 46 ++++++++
9 files changed, 166 insertions(+), 170 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/mailet/mailets/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/pom.xml b/server/mailet/mailets/pom.xml
index a8f409c..f269dfa 100644
--- a/server/mailet/mailets/pom.xml
+++ b/server/mailet/mailets/pom.xml
@@ -135,23 +135,15 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>james-server-protocols-library</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
+ <artifactId>james-server-queue-api</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>james-server-protocols-smtp</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <artifactId>james-server-testing</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>james-server-queue-api</artifactId>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
<artifactId>james-server-util</artifactId>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/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 875a4f9..aba82cd 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
@@ -24,10 +24,10 @@ import static \
org.assertj.core.api.Assertions.assertThatThrownBy;
import javax.mail.MessagingException;
-import org.apache.james.smtpserver.mock.util.MockSpamd;
-import org.apache.james.smtpserver.mock.util.MockSpamdTestRule;
import org.apache.james.util.Port;
import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.james.utils.MockSpamd;
+import org.apache.james.utils.MockSpamdTestRule;
import org.apache.mailet.Mail;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailetConfig;
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/protocols/protocols-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/pom.xml \
b/server/protocols/protocols-smtp/pom.xml index 2dd30c7..a18c272 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -123,6 +123,11 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
+ <artifactId>james-server-testing</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
<artifactId>james-server-util</artifactId>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/protocols/pr \
otocols-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 cf1b7cc..3016e44 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,9 +34,9 @@ import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
import org.apache.james.smtpserver.fastfail.SpamAssassinHandler;
import org.apache.james.smtpserver.mock.MockMimeMessage;
import org.apache.james.smtpserver.mock.mailet.MockMail;
-import org.apache.james.smtpserver.mock.util.MockSpamd;
-import org.apache.james.smtpserver.mock.util.MockSpamdTestRule;
import org.apache.james.util.scanner.SpamAssassinInvoker;
+import org.apache.james.utils.MockSpamd;
+import org.apache.james.utils.MockSpamdTestRule;
import org.apache.mailet.Mail;
import org.junit.Rule;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamd.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamd.java \
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamd.java
deleted file mode 100644
index 45f6920..0000000
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamd.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-package org.apache.james.smtpserver.mock.util;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.net.ServerSocket;
-import java.net.Socket;
-
-import org.apache.commons.io.IOUtils;
-
-import com.google.common.base.Preconditions;
-
-/**
- * This class can be used to run a mocked SPAMD daemon
- */
-public class MockSpamd implements Runnable {
-
- /**
- * Mailcontent which is 100% spam
- */
- public final static String GTUBE = "-SPAM-";
- public final static String NOT_SPAM = "Spam: False ; 3 / 5";
- public final static String SPAM = "Spam: True ; 1000 / 5";
- private BufferedReader in;
- private OutputStream out;
- private Socket spamd;
- private ServerSocket socket;
- private boolean isBinded;
-
-
- /**
- * Init the mocked SPAMD daemon
- *
- * @throws IOException
- */
- public MockSpamd() {
- isBinded = false;
- }
-
- public int getPort() {
- Preconditions.checkState(isBinded, "SpamD mock server is not binded");
- return socket.getLocalPort();
- }
-
- public void bind() throws IOException {
- socket = new ServerSocket(0);
- isBinded = true;
- }
-
- /**
- * @see java.lang.Runnable#run()
- */
- @Override
- public void run() {
-
- try {
- boolean spam = false;
-
- // Accept connections
- spamd = socket.accept();
-
- in = new BufferedReader(new InputStreamReader(spamd.getInputStream()));
- out = spamd.getOutputStream();
-
- String line;
-
- // Parse the message
- while ((line = in.readLine()) != null) {
- if (line.contains(GTUBE)) {
- spam = true;
- }
- }
- if (spam) {
- out.write(SPAM.getBytes());
- out.flush();
- } else {
- out.write(NOT_SPAM.getBytes());
- out.flush();
- }
- } catch (IOException e) {
- // Should not happen
- e.printStackTrace();
- } finally {
- IOUtils.closeQuietly(in);
- IOUtils.closeQuietly(out);
- IOUtils.closeQuietly(spamd);
- IOUtils.closeQuietly(socket);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/protocols/pr \
otocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamdTestRule.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamdTestRule.java \
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamdTestRule.java
deleted file mode 100644
index 4822b8f..0000000
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/util/MockSpamdTestRule.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-
-package org.apache.james.smtpserver.mock.util;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.junit.rules.ExternalResource;
-
-public class MockSpamdTestRule extends ExternalResource {
-
- private ExecutorService executor = Executors.newSingleThreadExecutor();
- private MockSpamd spamd = new MockSpamd();
-
- @Override
- protected void before() throws Throwable {
- spamd.bind();
- executor.execute(spamd);
- }
-
- public int getPort() {
- return spamd.getPort();
- }
-
- @Override
- protected void after() {
- executor.shutdownNow();
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/testing/pom.xml
----------------------------------------------------------------------
diff --git a/server/testing/pom.xml b/server/testing/pom.xml
index 705438a..3014fc8 100644
--- a/server/testing/pom.xml
+++ b/server/testing/pom.xml
@@ -46,7 +46,6 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java \
b/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java new file mode \
100644 index 0000000..896df3c
--- /dev/null
+++ b/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
@@ -0,0 +1,109 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.utils;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+import org.apache.commons.io.IOUtils;
+
+import com.google.common.base.Preconditions;
+
+/**
+ * This class can be used to run a mocked SPAMD daemon
+ */
+public class MockSpamd implements Runnable {
+
+ /**
+ * Mailcontent which is 100% spam
+ */
+ public final static String GTUBE = "-SPAM-";
+ public final static String NOT_SPAM = "Spam: False ; 3 / 5";
+ public final static String SPAM = "Spam: True ; 1000 / 5";
+ private BufferedReader in;
+ private OutputStream out;
+ private Socket spamd;
+ private ServerSocket socket;
+ private boolean isBinded;
+
+
+ /**
+ * Init the mocked SPAMD daemon
+ *
+ * @throws IOException
+ */
+ public MockSpamd() {
+ isBinded = false;
+ }
+
+ public int getPort() {
+ Preconditions.checkState(isBinded, "SpamD mock server is not binded");
+ return socket.getLocalPort();
+ }
+
+ public void bind() throws IOException {
+ socket = new ServerSocket(0);
+ isBinded = true;
+ }
+
+ /**
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+
+ try {
+ boolean spam = false;
+
+ // Accept connections
+ spamd = socket.accept();
+
+ in = new BufferedReader(new InputStreamReader(spamd.getInputStream()));
+ out = spamd.getOutputStream();
+
+ String line;
+
+ // Parse the message
+ while ((line = in.readLine()) != null) {
+ if (line.contains(GTUBE)) {
+ spam = true;
+ }
+ }
+ if (spam) {
+ out.write(SPAM.getBytes());
+ out.flush();
+ } else {
+ out.write(NOT_SPAM.getBytes());
+ out.flush();
+ }
+ } catch (IOException e) {
+ // Should not happen
+ e.printStackTrace();
+ } finally {
+ IOUtils.closeQuietly(in);
+ IOUtils.closeQuietly(out);
+ IOUtils.closeQuietly(spamd);
+ IOUtils.closeQuietly(socket);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/71f6fe24/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java \
b/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java new file \
mode 100644 index 0000000..ea746df
--- /dev/null
+++ b/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java
@@ -0,0 +1,46 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.utils;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import org.junit.rules.ExternalResource;
+
+public class MockSpamdTestRule extends ExternalResource {
+
+ private ExecutorService executor = Executors.newSingleThreadExecutor();
+ private MockSpamd spamd = new MockSpamd();
+
+ @Override
+ protected void before() throws Throwable {
+ spamd.bind();
+ executor.execute(spamd);
+ }
+
+ public int getPort() {
+ return spamd.getPort();
+ }
+
+ @Override
+ protected void after() {
+ executor.shutdownNow();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic