This is an automated email from the ASF dual-hosted git repository. rouazana pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 014718e530ad195b267a934a3f74518ed00232cd Author: Matthieu Baechler <[email protected]> AuthorDate: Tue Jul 23 16:45:37 2019 +0200 JAMES-2848 Fix double Cassandra initialization in Nested Test Classes --- .../cassandra/CassandraClusterExtension.java | 14 +++++++---- ...aMailRepositoryWithFakeImplementationsTest.java | 28 ++++++---------------- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraClusterExtension.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraClusterExtension.java index c5b144f..f224ba3 100644 --- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraClusterExtension.java +++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraClusterExtension.java @@ -40,8 +40,11 @@ public class CassandraClusterExtension implements BeforeAllCallback, AfterAllCal @Override public void beforeAll(ExtensionContext extensionContext) { - cassandraExtension.beforeAll(extensionContext); - cassandraCluster = CassandraCluster.create(cassandraModule, cassandraExtension.getDockerCassandra().getHost()); + Class<?> testClass = extensionContext.getRequiredTestClass(); + if (testClass.getEnclosingClass() == null) { + cassandraExtension.beforeAll(extensionContext); + cassandraCluster = CassandraCluster.create(cassandraModule, cassandraExtension.getDockerCassandra().getHost()); + } } @Override @@ -51,8 +54,11 @@ public class CassandraClusterExtension implements BeforeAllCallback, AfterAllCal @Override public void afterAll(ExtensionContext extensionContext) { - cassandraCluster.close(); - cassandraExtension.afterAll(extensionContext); + Class<?> testClass = extensionContext.getRequiredTestClass(); + if (testClass.getEnclosingClass() == null) { + cassandraCluster.close(); + cassandraExtension.afterAll(extensionContext); + } } @Override diff --git a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryWithFakeImplementationsTest.java b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryWithFakeImplementationsTest.java index 4f0a73c..0266d81 100644 --- a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryWithFakeImplementationsTest.java +++ b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryWithFakeImplementationsTest.java @@ -48,7 +48,6 @@ import org.apache.mailet.Mail; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.extension.RegisterExtension; import com.datastax.driver.core.ResultSet; @@ -57,23 +56,18 @@ import reactor.core.publisher.Mono; class CassandraMailRepositoryWithFakeImplementationsTest { + @RegisterExtension + static CassandraClusterExtension extension = new CassandraClusterExtension( + CassandraModule.aggregateModules( + CassandraMailRepositoryModule.MODULE, + CassandraBlobModule.MODULE, + CassandraSchemaVersionModule.MODULE)); + private static final MailRepositoryUrl URL = MailRepositoryUrl.from("proto://url"); private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory(); - static CassandraClusterExtension extension() { - return new CassandraClusterExtension( - CassandraModule.aggregateModules( - CassandraMailRepositoryModule.MODULE, - CassandraBlobModule.MODULE, - CassandraSchemaVersionModule.MODULE)); - } - @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) class FailingStoreTest { - @RegisterExtension - CassandraClusterExtension extension = extension(); - CassandraMailRepository cassandraMailRepository; CassandraMailRepositoryKeysDAO keysDAO; @@ -123,11 +117,7 @@ class CassandraMailRepositoryWithFakeImplementationsTest { } @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) class FailingMailDaoTest { - @RegisterExtension - CassandraClusterExtension extension = extension(); - CassandraMailRepository cassandraMailRepository; CassandraMailRepositoryKeysDAO keysDAO; @@ -212,11 +202,7 @@ class CassandraMailRepositoryWithFakeImplementationsTest { } @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) class FailingKeysDaoTest { - @RegisterExtension - CassandraClusterExtension extension = extension(); - CassandraMailRepository cassandraMailRepository; CassandraMailRepositoryCountDAO countDAO; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
