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 ro...@apache.org on 2018/12/13 08:59:58 UTC

[1/5] james-project git commit: JAMES-2558 Make SpamAssassin tests faster

Repository: james-project
Updated Branches:
  refs/heads/3.2.x 55ab00eea -> 063685071


JAMES-2558 Make SpamAssassin tests faster

SpamAssassinInvoker tests took 3 min to run and now takes 1 min 30 s


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

Branch: refs/heads/3.2.x
Commit: 7fff79fe444235cea25407e9e89c3f4cfcd75068
Parents: f5c091e
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Nov 14 14:24:32 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Dec 11 15:36:05 2018 +0100

----------------------------------------------------------------------
 .../jmap/cassandra/CassandraJmapExtension.java  |  5 +--
 .../james/jmap/memory/MemoryJmapExtension.java  |  4 +--
 .../spamassassin/SpamAssassinExtension.java     | 36 +++++++++++++++++---
 3 files changed, 36 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7fff79fe/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
index e6095b2..4cf4286 100644
--- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
+++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
@@ -94,6 +94,7 @@ public class CassandraJmapExtension implements BeforeAllCallback, AfterAllCallba
         elasticSearch.after();
 
         Runnables.runParallel(
+            () -> spamAssassinExtension.afterAll(context),
             cassandra::stop,
             elasticSearch::after);
     }
@@ -101,14 +102,14 @@ public class CassandraJmapExtension implements BeforeAllCallback, AfterAllCallba
     @Override
     public void beforeEach(ExtensionContext context) throws Exception {
         james = james();
-        spamAssassinExtension.beforeEach(context);
+        spamAssassinExtension.start();
         james.getJmapServer().start();
     }
 
     @Override
     public void afterEach(ExtensionContext context) {
         james.getJmapServer().stop();
-        spamAssassinExtension.afterEach(context);
+        spamAssassinExtension.stop();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/7fff79fe/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
index 907c0bc..f2f8462 100644
--- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
+++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
@@ -75,7 +75,7 @@ public class MemoryJmapExtension implements BeforeEachCallback, AfterEachCallbac
 
     @Override
     public void beforeEach(ExtensionContext context) throws Exception {
-        spamAssassinExtension.beforeEach(context);
+        spamAssassinExtension.start();
         temporaryFolder.create();
         james.getJmapServer().start();
     }
@@ -83,8 +83,8 @@ public class MemoryJmapExtension implements BeforeEachCallback, AfterEachCallbac
     @Override
     public void afterEach(ExtensionContext context) {
         james.getJmapServer().stop();
-        spamAssassinExtension.afterEach(context);
         temporaryFolder.delete();
+        spamAssassinExtension.stop();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/7fff79fe/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
index 5018bd6..ac65df7 100644
--- a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
@@ -28,8 +28,9 @@ import java.time.Duration;
 import java.util.Locale;
 import java.util.stream.Stream;
 
+import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.AfterEachCallback;
-import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.BeforeAllCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.api.extension.ParameterContext;
 import org.junit.jupiter.api.extension.ParameterResolutionException;
@@ -39,7 +40,7 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
 
 import com.github.fge.lambdas.Throwing;
 
-public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallback, ParameterResolver {
+public class SpamAssassinExtension implements BeforeAllCallback, AfterEachCallback, AfterAllCallback, ParameterResolver {
     private static final Duration STARTUP_TIMEOUT = Duration.ofMinutes(30);
 
     private final GenericContainer<?> spamAssassinContainer;
@@ -59,13 +60,34 @@ public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallb
     }
 
     @Override
-    public void beforeEach(ExtensionContext context) {
-        spamAssassinContainer.start();
-        spamAssassin = new SpamAssassin(spamAssassinContainer);
+    public void beforeAll(ExtensionContext context) {
+        start();
     }
 
     @Override
     public void afterEach(ExtensionContext context) {
+        clearSpamAssassinDatabase();
+    }
+
+    @Override
+    public void afterAll(ExtensionContext context) {
+        stop();
+    }
+
+    public void start() {
+        spamAssassinContainer.start();
+        spamAssassin = new SpamAssassin(spamAssassinContainer);
+    }
+
+    public void clearSpamAssassinDatabase() {
+        try {
+            spamAssassin.clearSpamAssassinDatabase();
+        } catch (IOException | InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void stop() {
         spamAssassinContainer.close();
     }
 
@@ -146,6 +168,10 @@ public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallb
         public void dump(String user) throws UnsupportedOperationException, IOException, InterruptedException {
             spamAssassinContainer.execInContainer("sa-learn", "--dump", "magic", "-u", user);
         }
+
+        public void clearSpamAssassinDatabase() throws UnsupportedOperationException, IOException, InterruptedException {
+            spamAssassinContainer.execInContainer("sa-learn", "--dump", "magic");
+        }
     }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[2/5] james-project git commit: JAMES-2588 increase timeout for starting SpamAssassin docker

Posted by ro...@apache.org.
JAMES-2588 increase timeout for starting SpamAssassin docker


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

Branch: refs/heads/3.2.x
Commit: f5c091ea14c5765786507fdc6c72fa9013dbe22f
Parents: acd245f
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Nov 13 14:23:42 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Dec 11 15:36:05 2018 +0100

----------------------------------------------------------------------
 .../org/apache/james/spamassassin/SpamAssassinExtension.java  | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/f5c091ea/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
index fd4980c..5018bd6 100644
--- a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
@@ -24,6 +24,7 @@ import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.time.Duration;
 import java.util.Locale;
 import java.util.stream.Stream;
 
@@ -39,6 +40,7 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
 import com.github.fge.lambdas.Throwing;
 
 public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallback, ParameterResolver {
+    private static final Duration STARTUP_TIMEOUT = Duration.ofMinutes(30);
 
     private final GenericContainer<?> spamAssassinContainer;
     private SpamAssassin spamAssassin;
@@ -51,8 +53,9 @@ public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallb
                 .withFileFromClasspath("run.sh", "docker/spamassassin/run.sh")
                 .withFileFromClasspath("spamd.sh", "docker/spamassassin/spamd.sh")
                 .withFileFromClasspath("rule-update.sh", "docker/spamassassin/rule-update.sh")
-                .withFileFromClasspath("bayes_pg.sql", "docker/spamassassin/bayes_pg.sql"));
-        spamAssassinContainer.waitingFor(new SpamAssassinWaitStrategy(spamAssassinContainer));
+                .withFileFromClasspath("bayes_pg.sql", "docker/spamassassin/bayes_pg.sql"))
+            .withStartupTimeout(STARTUP_TIMEOUT);
+        spamAssassinContainer.waitingFor(new SpamAssassinWaitStrategy(spamAssassinContainer, STARTUP_TIMEOUT));
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[5/5] james-project git commit: JAMES-2620 Integration tests should be activated by a maven profile

Posted by ro...@apache.org.
JAMES-2620 Integration tests should be activated by a maven profile


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

Branch: refs/heads/3.2.x
Commit: 06368507193910320da04873d22a9a510de01a13
Parents: cf32153
Author: Antoine Duprat <ad...@linagora.com>
Authored: Mon Dec 10 12:59:45 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Dec 11 15:36:42 2018 +0100

----------------------------------------------------------------------
 .../compilation/java-8/integration_tests.sh     |  2 +-
 mpt/impl/imap-mailbox/external-james/pom.xml    | 31 ++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/06368507/dockerfiles/compilation/java-8/integration_tests.sh
----------------------------------------------------------------------
diff --git a/dockerfiles/compilation/java-8/integration_tests.sh b/dockerfiles/compilation/java-8/integration_tests.sh
index 966e59f..bfef037 100755
--- a/dockerfiles/compilation/java-8/integration_tests.sh
+++ b/dockerfiles/compilation/java-8/integration_tests.sh
@@ -54,4 +54,4 @@ git checkout $SHA1
 
 
 mvn -DskipTests -pl org.apache.james:apache-james-mpt-external-james -am install
-mvn -Dtest=JamesDeploymentValidationTest -pl org.apache.james:apache-james-mpt-external-james test
+mvn -pl org.apache.james:apache-james-mpt-external-james test -Pintegration-tests

http://git-wip-us.apache.org/repos/asf/james-project/blob/06368507/mpt/impl/imap-mailbox/external-james/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/external-james/pom.xml b/mpt/impl/imap-mailbox/external-james/pom.xml
index 8959362..e2367aa 100644
--- a/mpt/impl/imap-mailbox/external-james/pom.xml
+++ b/mpt/impl/imap-mailbox/external-james/pom.xml
@@ -68,4 +68,35 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>
     </dependencies>
+
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <skipTests>true</skipTests>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>integration-tests</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[3/5] james-project git commit: JAMES-2558 Tests should rely on SpamAssassin 3.4.2

Posted by ro...@apache.org.
JAMES-2558 Tests should rely on SpamAssassin 3.4.2

Fixes CVE-2017-15705, CVE-2016-1238, CVE-2018-11780 & CVE-2018-11781


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

Branch: refs/heads/3.2.x
Commit: acd245f76c72af577e81f4b5e01bea5458c3621d
Parents: 55ab00e
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Oct 10 14:48:25 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Dec 11 15:36:05 2018 +0100

----------------------------------------------------------------------
 .../org/apache/james/spamassassin/SpamAssassinWaitStrategy.java  | 4 ++--
 .../src/test/resources/docker/spamassassin/Dockerfile            | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/acd245f7/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
index c9f1c7a..8947a2c 100644
--- a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
@@ -34,7 +34,7 @@ public class SpamAssassinWaitStrategy implements WaitStrategy {
 
     private static final Duration DEFAULT_TIMEOUT = Duration.ofMinutes(1);
     private final GenericContainer<?> spamAssassinContainer;
-    private Duration timeout = DEFAULT_TIMEOUT;
+    private final Duration timeout;
 
     public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer) {
         this(spamAssassinContainer, DEFAULT_TIMEOUT);
@@ -52,7 +52,7 @@ public class SpamAssassinWaitStrategy implements WaitStrategy {
                     return spamAssassinContainer
                         .execInContainer("spamassassin", "-V")
                         .getStdout()
-                        .contains("SpamAssassin version 3.4.1");
+                        .contains("SpamAssassin version 3.4.2");
                 } catch (IOException | InterruptedException e) {
                     return false;
                 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/acd245f7/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile b/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
index ad1187a..3f42b25 100644
--- a/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
@@ -1,6 +1,6 @@
 FROM postgres:10.3
 
-ENV SPAMASSASSIN_VERSION 3.4.1
+ENV SPAMASSASSIN_VERSION 3.4.2
 
 RUN apt-get update && \
     DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[4/5] james-project git commit: JAMES-2620 Tests classes should have a name ending by Test

Posted by ro...@apache.org.
JAMES-2620 Tests classes should have a name ending by Test


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

Branch: refs/heads/3.2.x
Commit: cf32153df7a31786eb22decb9ea9f63b1988b693
Parents: 7fff79f
Author: Antoine Duprat <ad...@linagora.com>
Authored: Mon Dec 10 11:37:30 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Dec 11 15:36:40 2018 +0100

----------------------------------------------------------------------
 .../compilation/java-8/integration_tests.sh     |  4 +-
 .../james/JamesDeploymentValidation.java        | 53 --------------------
 .../james/JamesDeploymentValidationTest.java    | 53 ++++++++++++++++++++
 3 files changed, 55 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/cf32153d/dockerfiles/compilation/java-8/integration_tests.sh
----------------------------------------------------------------------
diff --git a/dockerfiles/compilation/java-8/integration_tests.sh b/dockerfiles/compilation/java-8/integration_tests.sh
index 0fab296..966e59f 100755
--- a/dockerfiles/compilation/java-8/integration_tests.sh
+++ b/dockerfiles/compilation/java-8/integration_tests.sh
@@ -53,5 +53,5 @@ git clone $ORIGIN/.
 git checkout $SHA1
 
 
-mvn -DskipTests -pl org.apache.james:apache-james-mpt-external-james -am package
-mvn -Dtest=JamesDeploymentValidation -pl org.apache.james:apache-james-mpt-external-james test
+mvn -DskipTests -pl org.apache.james:apache-james-mpt-external-james -am install
+mvn -Dtest=JamesDeploymentValidationTest -pl org.apache.james:apache-james-mpt-external-james test

http://git-wip-us.apache.org/repos/asf/james-project/blob/cf32153d/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
deleted file mode 100644
index a4e5ba6..0000000
--- a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
+++ /dev/null
@@ -1,53 +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.mpt.imapmailbox.external.james;
-
-import org.apache.james.mpt.api.ImapHostSystem;
-import org.junit.After;
-import org.junit.Before;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-public class JamesDeploymentValidation extends DeploymentValidation {
-
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        Injector injector = Guice.createInjector(new ExternalJamesModule());
-        system = injector.getInstance(ImapHostSystem.class);
-        system.beforeTest();
-        super.setUp();
-    }
-
-    @Override
-    protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-    
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
-    }
-
-    
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/cf32153d/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidationTest.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidationTest.java b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidationTest.java
new file mode 100644
index 0000000..81394f6
--- /dev/null
+++ b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidationTest.java
@@ -0,0 +1,53 @@
+/****************************************************************
+ * 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.mpt.imapmailbox.external.james;
+
+import org.apache.james.mpt.api.ImapHostSystem;
+import org.junit.After;
+import org.junit.Before;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+public class JamesDeploymentValidationTest extends DeploymentValidation {
+
+    private ImapHostSystem system;
+
+    @Override
+    @Before
+    public void setUp() throws Exception {
+        Injector injector = Guice.createInjector(new ExternalJamesModule());
+        system = injector.getInstance(ImapHostSystem.class);
+        system.beforeTest();
+        super.setUp();
+    }
+
+    @Override
+    protected ImapHostSystem createImapHostSystem() {
+        return system;
+    }
+    
+    @After
+    public void tearDown() throws Exception {
+        system.afterTest();
+    }
+
+    
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org