JAMES-2290 move ExecutorExtension to testing project to share it between projects
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/47248467 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/47248467 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/47248467 Branch: refs/heads/master Commit: 4724846798e6ae64411230726c8bd21602cbe684 Parents: 15a9f78 Author: Matthieu Baechler <[email protected]> Authored: Wed Jan 17 10:40:13 2018 +0100 Committer: benwa <[email protected]> Committed: Fri Jan 19 18:57:57 2018 +0700 ---------------------------------------------------------------------- server/data/data-file/pom.xml | 5 ++ server/data/data-jdbc/pom.xml | 5 ++ server/queue/queue-activemq/pom.xml | 5 ++ server/queue/queue-api/pom.xml | 5 ++ .../queue/api/DelayedMailQueueContract.java | 1 + .../api/DelayedManageableMailQueueContract.java | 1 + .../james/queue/api/ExecutorExtension.java | 55 -------------------- .../james/queue/api/MailQueueContract.java | 1 + server/queue/queue-file/pom.xml | 5 ++ server/queue/queue-jms/pom.xml | 5 ++ server/testing/pom.xml | 12 +++-- .../apache/james/junit/ExecutorExtension.java | 55 ++++++++++++++++++++ 12 files changed, 96 insertions(+), 59 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/data/data-file/pom.xml ---------------------------------------------------------------------- diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml index 999c8ef..67a2a91 100644 --- a/server/data/data-file/pom.xml +++ b/server/data/data-file/pom.xml @@ -86,6 +86,11 @@ <scope>test</scope> </dependency> <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>james-server-testing</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/data/data-jdbc/pom.xml ---------------------------------------------------------------------- diff --git a/server/data/data-jdbc/pom.xml b/server/data/data-jdbc/pom.xml index a0532c2..b82d3d4 100644 --- a/server/data/data-jdbc/pom.xml +++ b/server/data/data-jdbc/pom.xml @@ -77,6 +77,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/47248467/server/queue/queue-activemq/pom.xml ---------------------------------------------------------------------- diff --git a/server/queue/queue-activemq/pom.xml b/server/queue/queue-activemq/pom.xml index 49da8b5..f286a0f 100644 --- a/server/queue/queue-activemq/pom.xml +++ b/server/queue/queue-activemq/pom.xml @@ -72,6 +72,11 @@ <scope>test</scope> </dependency> <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>james-server-testing</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-api/pom.xml ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/pom.xml b/server/queue/queue-api/pom.xml index cb2f548..fb31971 100644 --- a/server/queue/queue-api/pom.xml +++ b/server/queue/queue-api/pom.xml @@ -53,6 +53,11 @@ <artifactId>james-server-lifecycle-api</artifactId> </dependency> <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>james-server-testing</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java index 6f28311..9c8b07a 100644 --- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java +++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java @@ -28,6 +28,7 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import org.apache.james.junit.ExecutorExtension; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedManageableMailQueueContract.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedManageableMailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedManageableMailQueueContract.java index 1397bbf..3eb9090 100644 --- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedManageableMailQueueContract.java +++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedManageableMailQueueContract.java @@ -26,6 +26,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import org.apache.james.junit.ExecutorExtension; import org.apache.mailet.Mail; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ExecutorExtension.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ExecutorExtension.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ExecutorExtension.java deleted file mode 100644 index 16ebc46..0000000 --- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ExecutorExtension.java +++ /dev/null @@ -1,55 +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.queue.api; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import org.junit.jupiter.api.extension.AfterEachCallback; -import org.junit.jupiter.api.extension.BeforeEachCallback; -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.api.extension.ParameterContext; -import org.junit.jupiter.api.extension.ParameterResolutionException; -import org.junit.jupiter.api.extension.ParameterResolver; - -public class ExecutorExtension implements ParameterResolver, BeforeEachCallback, AfterEachCallback { - - private ExecutorService executorService; - - @Override - public void beforeEach(ExtensionContext context) throws Exception { - executorService = Executors.newCachedThreadPool(); - } - - @Override - public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { - return (parameterContext.getParameter().getType() == ExecutorService.class); - } - - @Override - public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { - return executorService; - } - - @Override - public void afterEach(ExtensionContext context) throws Exception { - executorService.shutdownNow(); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java index 90d8ce7..903bf9e 100644 --- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java +++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java @@ -36,6 +36,7 @@ import java.util.concurrent.TimeoutException; import javax.mail.internet.MimeMessage; +import org.apache.james.junit.ExecutorExtension; import org.apache.mailet.Mail; import org.apache.mailet.PerRecipientHeaders; import org.junit.jupiter.api.Test; http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-file/pom.xml ---------------------------------------------------------------------- diff --git a/server/queue/queue-file/pom.xml b/server/queue/queue-file/pom.xml index 95015ca..ad3e108 100644 --- a/server/queue/queue-file/pom.xml +++ b/server/queue/queue-file/pom.xml @@ -68,6 +68,11 @@ <type>test-jar</type> </dependency> <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>james-server-testing</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/queue/queue-jms/pom.xml ---------------------------------------------------------------------- diff --git a/server/queue/queue-jms/pom.xml b/server/queue/queue-jms/pom.xml index e0b5246..9c5e23e 100644 --- a/server/queue/queue-jms/pom.xml +++ b/server/queue/queue-jms/pom.xml @@ -68,6 +68,11 @@ </dependency> <dependency> <groupId>${project.groupId}</groupId> + <artifactId>james-server-testing</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> <artifactId>metrics-api</artifactId> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/testing/pom.xml ---------------------------------------------------------------------- diff --git a/server/testing/pom.xml b/server/testing/pom.xml index c8db6e3..c42f564 100644 --- a/server/testing/pom.xml +++ b/server/testing/pom.xml @@ -62,15 +62,19 @@ <artifactId>commons-net</artifactId> </dependency> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </dependency> - <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + </dependency> + <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> http://git-wip-us.apache.org/repos/asf/james-project/blob/47248467/server/testing/src/main/java/org/apache/james/junit/ExecutorExtension.java ---------------------------------------------------------------------- diff --git a/server/testing/src/main/java/org/apache/james/junit/ExecutorExtension.java b/server/testing/src/main/java/org/apache/james/junit/ExecutorExtension.java new file mode 100644 index 0000000..eb81b17 --- /dev/null +++ b/server/testing/src/main/java/org/apache/james/junit/ExecutorExtension.java @@ -0,0 +1,55 @@ +/**************************************************************** + * 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.junit; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import org.junit.jupiter.api.extension.AfterEachCallback; +import org.junit.jupiter.api.extension.BeforeEachCallback; +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.api.extension.ParameterContext; +import org.junit.jupiter.api.extension.ParameterResolutionException; +import org.junit.jupiter.api.extension.ParameterResolver; + +public class ExecutorExtension implements ParameterResolver, BeforeEachCallback, AfterEachCallback { + + private ExecutorService executorService; + + @Override + public void beforeEach(ExtensionContext context) throws Exception { + executorService = Executors.newCachedThreadPool(); + } + + @Override + public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { + return (parameterContext.getParameter().getType() == ExecutorService.class); + } + + @Override + public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { + return executorService; + } + + @Override + public void afterEach(ExtensionContext context) throws Exception { + executorService.shutdownNow(); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
