http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java index d5c869d..427dcaa 100644 --- a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java +++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java @@ -19,24 +19,24 @@ */ package org.apache.polygene.entitystore.redis; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.redis.assembly.RedisEntityStoreAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.cache.AbstractEntityStoreWithCacheTest; -import org.apache.polygene.test.docker.DockerRule; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; +@Docker( image = "redis", + ports = @Port( exposed = 8801, inner = 6379)) public class RedisEntityStoreWithCacheTest extends AbstractEntityStoreWithCacheTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "redis", 6379 ); - @Override public void assemble( ModuleAssembly module ) throws AssemblyException @@ -47,8 +47,8 @@ public class RedisEntityStoreWithCacheTest new RedisEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); RedisEntityStoreConfiguration redisConfig = config.forMixin( RedisEntityStoreConfiguration.class ) .declareDefaults(); - redisConfig.host().set( DOCKER.getDockerHost() ); - redisConfig.port().set( DOCKER.getExposedContainerPort( "6379/tcp" ) ); + redisConfig.host().set( "localhost" ); + redisConfig.port().set( 8801 ); } private JedisPool jedisPool; @@ -64,6 +64,7 @@ public class RedisEntityStoreWithCacheTest } @Override + @AfterEach public void tearDown() { try( Jedis jedis = jedisPool.getResource() )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-riak/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/build.gradle b/extensions/entitystore-riak/build.gradle index 98200ac..a160c63 100644 --- a/extensions/entitystore-riak/build.gradle +++ b/extensions/entitystore-riak/build.gradle @@ -35,6 +35,7 @@ dependencies { testImplementation polygene.internals.testsupport testImplementation libraries.awaitility + testImplementation libraries.docker_junit testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java index 31c886e..dc7a5fd 100644 --- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java +++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java @@ -17,21 +17,23 @@ */ package org.apache.polygene.entitystore.riak; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import java.util.Collections; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.riak.assembly.RiakEntityStoreAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; +@Docker( image = "riak", + ports = @Port( exposed = 8801, inner = 8087), + waitFor = @WaitFor( value = "riak_auth_mods started on node", timeoutInMillis = 30000)) public class RiakEntityStoreTest extends AbstractEntityStoreTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "riak","riak_auth_mods started on node"); - private RiakFixture riakFixture; @Override @@ -46,6 +48,7 @@ public class RiakEntityStoreTest extends AbstractEntityStoreTest } @Override + @AfterEach public void tearDown() { riakFixture.deleteTestData(); @@ -65,8 +68,8 @@ public class RiakEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly RiakEntityStoreConfiguration riakConfig = config.forMixin( RiakEntityStoreConfiguration.class ) .declareDefaults(); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "8087/tcp" ); + String host = "localhost"; + int port = 8801; riakConfig.hosts().set( Collections.singletonList( host + ':' + port ) ); // START SNIPPET: assembly } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java index 0974da7..fc9d477 100644 --- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java +++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java @@ -17,20 +17,22 @@ */ package org.apache.polygene.entitystore.riak; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import java.util.Collections; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.api.structure.Module; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.riak.assembly.RiakEntityStoreAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; -import org.junit.ClassRule; +import org.junit.jupiter.api.BeforeEach; +@Docker( image = "riak", + ports = @Port( exposed = 8801, inner = 8087), + waitFor = @WaitFor( value = "riak_auth_mods started on node", timeoutInMillis = 30000)) public class RiakEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "riak", "riak_auth_mods started on node" ); - private RiakFixture riakFixture; @Override @@ -44,8 +46,8 @@ public class RiakEntityStoreTestSuite extends EntityStoreTestSuite RiakEntityStoreConfiguration riakConfig = configModule.forMixin( RiakEntityStoreConfiguration.class ) .declareDefaults(); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "8087/tcp" ); + String host = "localhost"; + int port = 8801; riakConfig.hosts().set( Collections.singletonList( host + ':' + port ) ); } @@ -57,6 +59,7 @@ public class RiakEntityStoreTestSuite extends EntityStoreTestSuite } @Override + @BeforeEach public void setUp() throws Exception { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java index 3cfd08d..f6d4a33 100644 --- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java +++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java @@ -19,6 +19,9 @@ */ package org.apache.polygene.entitystore.riak; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import java.util.Collections; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; @@ -26,15 +29,14 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.riak.assembly.RiakEntityStoreAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.cache.AbstractEntityStoreWithCacheTest; -import org.apache.polygene.test.docker.DockerRule; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; +@Docker( image = "riak", + ports = @Port( exposed = 8801, inner = 8087 ), + waitFor = @WaitFor( value = "riak_auth_mods started on node", timeoutInMillis = 30000 ) ) public class RiakEntityStoreWithCacheTest extends AbstractEntityStoreWithCacheTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "riak","riak_auth_mods started on node"); - private RiakFixture riakFixture; @Override @@ -49,6 +51,7 @@ public class RiakEntityStoreWithCacheTest extends AbstractEntityStoreWithCacheTe } @Override + @AfterEach public void tearDown() { riakFixture.deleteTestData(); @@ -65,8 +68,8 @@ public class RiakEntityStoreWithCacheTest extends AbstractEntityStoreWithCacheTe new RiakEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); RiakEntityStoreConfiguration riakConfig = config.forMixin( RiakEntityStoreConfiguration.class ) .declareDefaults(); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "8087/tcp" ); + String host = "localhost"; + int port = 8801; riakConfig.hosts().set( Collections.singletonList( host + ':' + port ) ); } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/build.gradle b/extensions/entitystore-sql/build.gradle index a2f4cd3..a6b9fc4 100644 --- a/extensions/entitystore-sql/build.gradle +++ b/extensions/entitystore-sql/build.gradle @@ -35,10 +35,8 @@ dependencies { testImplementation polygene.library( 'sql-dbcp' ) testImplementation polygene.library( 'sql-bonecp' ) - testImplementation 'com.github.faustxvi:junit5-docker:1.0.0-RC5' -// testImplementation (libraries.docker_junit ) { exclude group: "junit", module: "junit" } + testImplementation libraries.docker_junit testImplementation libraries.h2 - testImplementation libraries.junit_vintage testRuntimeOnly libraries.logback testRuntimeOnly libraries.derby http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java index aa3833b..e49aec6 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java @@ -28,7 +28,7 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class DerbySQLEntityStoreTest extends AbstractEntityStoreTest @@ -68,7 +68,7 @@ public class DerbySQLEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java index 4ac3302..54b067a 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java @@ -26,7 +26,7 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite { @@ -57,7 +57,7 @@ public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.DERBY, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java index 906c7c2..f1acf22 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java @@ -28,7 +28,7 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class H2SQLEntityStoreTest extends AbstractEntityStoreTest @@ -68,7 +68,7 @@ public class H2SQLEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.H2, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java index 7c7d3f5..120b9d8 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java @@ -26,7 +26,7 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite { @@ -57,7 +57,7 @@ public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.H2, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java index 7b11e7a..10921a8 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java @@ -19,7 +19,10 @@ */ package org.apache.polygene.entitystore.sql; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; @@ -28,30 +31,23 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mariadb", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections",timeoutInMillis = 30000)) public class MariaDbEntityStoreTest extends AbstractEntityStoreTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mariadb", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); @Override // START SNIPPET: assembly @@ -85,8 +81,8 @@ public class MariaDbEntityStoreTest .withConfig( config, Visibility.layer ) .assemble( module ); // END SNIPPET: assembly - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "3306/tcp" ); + String host = "localhost"; + int port = 8801; config.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + host + ":" + port + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -96,7 +92,7 @@ public class MariaDbEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.MARIADB, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java index e8e1a4d..edebfc9 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java @@ -19,36 +19,32 @@ */ package org.apache.polygene.entitystore.sql; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mariadb", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections", timeoutInMillis = 30000)) public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mariadb", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); @Override protected void defineStorageModule( ModuleAssembly module ) @@ -75,8 +71,8 @@ public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite .withConfig( configModule, Visibility.application ) .assemble( module ); - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; configModule.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -84,7 +80,7 @@ public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MARIADB, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java index 76d3736..1771c89 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java @@ -19,7 +19,10 @@ */ package org.apache.polygene.entitystore.sql; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; @@ -28,31 +31,23 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mysql", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections", timeoutInMillis = 30000)) public class MySQLEntityStoreTest extends AbstractEntityStoreTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mysql", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); - @Override // START SNIPPET: assembly public void assemble( ModuleAssembly module ) @@ -85,8 +80,8 @@ public class MySQLEntityStoreTest .withConfig( config, Visibility.layer ) .assemble( module ); // END SNIPPET: assembly - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; config.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -96,7 +91,7 @@ public class MySQLEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.MYSQL, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java index 18c7370..ae1f22f 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java @@ -19,37 +19,32 @@ */ package org.apache.polygene.entitystore.sql; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mysql", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections", timeoutInMillis = 30000)) public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mysql", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); - @Override protected void defineStorageModule( ModuleAssembly module ) { @@ -75,8 +70,8 @@ public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite .withConfig( configModule, Visibility.application ) .assemble( module ); - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; configModule.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -84,7 +79,7 @@ public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MYSQL, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java index 3f2490b..0102e09 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java @@ -20,10 +20,9 @@ package org.apache.polygene.entitystore.sql; import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; import com.github.junit5docker.Port; import com.github.junit5docker.WaitFor; -import java.util.HashMap; -import java.util.Map; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; @@ -32,34 +31,19 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; -@Docker( image = "postgres", - ports = @Port( exposed = 45432, inner = 5432 ), - waitFor = @WaitFor( "PostgreSQL init process complete; ready for start up." ), - newForEachCase = false ) +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + environments = { + @Environment( key = "POSTGRES_USER", value = "polygene" ), + @Environment(key = "POSTGRES_PASSWORD", value = "ThisIsGreat!") + }, + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest { -// @ClassRule -// public static final DockerRule DOCKER; -// -// static -// { -// Map<String, String> environment = new HashMap<>(); -// environment.put( "POSTGRES_USER", System.getProperty( "user.name" ) ); -// environment.put( "POSTGRES_PASSWORD", "ThisIsGreat!" ); -// -// DOCKER = new DockerRule( "postgres", -// environment, -// 5000L, -// "PostgreSQL init process complete; ready for start up." ); -// } - @Override // START SNIPPET: assembly public void assemble( ModuleAssembly module ) @@ -96,11 +80,11 @@ public class PostgreSQLEntityStoreTest // String host = DOCKER.getDockerHost(); // int port = DOCKER.getExposedContainerPort( "5432/tcp" ); - int port = 45432; + int port = 8801; String host = "localhost"; DataSourceConfiguration defaults = config.forMixin( DataSourceConfiguration.class ).declareDefaults(); defaults.url().set( "jdbc:postgresql://" + host + ":" + port + "/jdbc_test_db" ); - defaults.username().set( System.getProperty( "user.name" ) ); + defaults.username().set( "polygene" ); defaults.password().set( "ThisIsGreat!" ); // START SNIPPET: assembly @@ -120,7 +104,7 @@ public class PostgreSQLEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.POSTGRES, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java index 7a10131..2c2ef5d 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java @@ -19,37 +19,28 @@ */ package org.apache.polygene.entitystore.sql; -import java.util.HashMap; -import java.util.Map; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + environments = { + @Environment( key = "POSTGRES_USER", value = "polygene" ), + @Environment(key = "POSTGRES_PASSWORD", value = "ThisIsGreat!") + }, + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER; - - static - { - Map<String,String> environment = new HashMap<>(); - environment.put( "POSTGRES_USER", System.getProperty( "user.name" )); - environment.put( "POSTGRES_PASSWORD", "ThisIsGreat!"); - - DOCKER = new DockerRule( "postgres", - environment, - 5000L, - "PostgreSQL init process complete; ready for start up." ); - } - @Override protected void defineStorageModule( ModuleAssembly module ) { @@ -76,11 +67,11 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite .withConfig( configModule, Visibility.application ) .assemble( module ); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; DataSourceConfiguration defaults = configModule.forMixin( DataSourceConfiguration.class ).declareDefaults(); defaults.url().set( "jdbc:postgresql://" + host + ":" + port + "/jdbc_test_db" ); - defaults.username().set( System.getProperty( "user.name" ) ); + defaults.username().set( "polygene" ); defaults.password().set( "ThisIsGreat!" ); // START SNIPPET: assembly @@ -88,7 +79,7 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.POSTGRES, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java index 376f3da..43138a8 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java @@ -28,14 +28,14 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; public class SQLiteEntityStoreTest extends AbstractEntityStoreTest { - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk(); @@ -76,7 +76,7 @@ public class SQLiteEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java index 498211e..8c6f589 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java @@ -26,14 +26,14 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite { - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk(); @@ -66,7 +66,7 @@ public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.SQLITE, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java index e5e1d41..496add0 100644 --- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java +++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java @@ -27,16 +27,16 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; +import org.apache.polygene.test.TemporaryFolder; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.extension.ExtendWith; +@ExtendWith( TemporaryFolder.class ) public class SqlEntityStoreTest extends AbstractEntityStoreTest { - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override // START SNIPPET: assembly @@ -88,7 +88,7 @@ public class SqlEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/build.gradle b/extensions/entitystore-sqlkv/build.gradle index 5a6bec2..f86274c 100644 --- a/extensions/entitystore-sqlkv/build.gradle +++ b/extensions/entitystore-sqlkv/build.gradle @@ -33,7 +33,7 @@ dependencies { testImplementation polygene.internals.testsupport testImplementation polygene.library( 'sql-dbcp' ) - testImplementation (libraries.docker_junit ) { exclude group: "junit", module: "junit" } + testImplementation libraries.docker_junit testRuntimeOnly libraries.logback testRuntimeOnly libraries.derby http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java index 161ee07..0bd6716 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java @@ -28,7 +28,7 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class DerbySQLEntityStoreTest extends AbstractEntityStoreTest { @@ -67,7 +67,7 @@ public class DerbySQLEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java index cc61b84..3776d4f 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java @@ -20,15 +20,13 @@ package org.apache.polygene.entitystore.sqlkv; import org.apache.polygene.api.common.Visibility; -import org.apache.polygene.api.structure.Module; -import org.apache.polygene.api.unitofwork.UnitOfWorkFactory; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sqlkv.assembly.DerbySQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite { @@ -59,7 +57,7 @@ public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.DERBY, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java index 8575cfb..46a66e3 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java @@ -28,7 +28,7 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class H2SQLEntityStoreTest extends AbstractEntityStoreTest { @@ -67,7 +67,7 @@ public class H2SQLEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.H2, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java index b4b736e..28ecf99 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java @@ -26,7 +26,7 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite { @@ -57,7 +57,7 @@ public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.H2, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java index fbc12f3..59f3882 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java @@ -19,7 +19,10 @@ */ package org.apache.polygene.entitystore.sqlkv; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; @@ -28,30 +31,22 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mariadb", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections",timeoutInMillis = 30000)) public class MariaDbEntityStoreTest extends AbstractEntityStoreTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mariadb", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); - @Override // START SNIPPET: assembly public void assemble( ModuleAssembly module ) @@ -84,8 +79,8 @@ public class MariaDbEntityStoreTest extends AbstractEntityStoreTest .withConfig( config, Visibility.layer ) .assemble( module ); // END SNIPPET: assembly - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; config.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -95,7 +90,7 @@ public class MariaDbEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.MARIADB, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java index 1c4502a..afb1d05 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java @@ -19,37 +19,32 @@ */ package org.apache.polygene.entitystore.sqlkv; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mariadb", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections", timeoutInMillis = 30000)) public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mariadb", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); - @Override protected void defineStorageModule( ModuleAssembly module ) { @@ -75,8 +70,8 @@ public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite .withConfig( configModule, Visibility.application ) .assemble( module ); - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; configModule.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -84,7 +79,7 @@ public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MARIADB, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java index 4e45ec8..d18e90f 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java @@ -19,7 +19,10 @@ */ package org.apache.polygene.entitystore.sqlkv; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; @@ -28,30 +31,22 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mysql", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections", timeoutInMillis = 30000)) public class MySQLEntityStoreTest extends AbstractEntityStoreTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mysql", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); - @Override // START SNIPPET: assembly public void assemble( ModuleAssembly module ) @@ -84,8 +79,8 @@ public class MySQLEntityStoreTest extends AbstractEntityStoreTest .withConfig( config, Visibility.layer ) .assemble( module ); // END SNIPPET: assembly - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; config.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -95,7 +90,7 @@ public class MySQLEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.MYSQL, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java index 349ad3f..639d1d0 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java @@ -19,37 +19,32 @@ */ package org.apache.polygene.entitystore.sqlkv; -import java.util.HashMap; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Environment; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; -import org.junit.Ignore; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; -@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Disabled( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR") +@Docker( image = "mysql", ports = @Port( exposed = 8801, inner = 3306), + environments = { + @Environment( key = "MYSQL_ROOT_PASSWORD", value = ""), + @Environment(key = "MYSQL_ALLOW_EMPTY_PASSWORD", value = "yes"), + @Environment(key = "MYSQL_DATABASE", value = "jdbc_test_db"), + @Environment( key = "MYSQL_ROOT_HOST", value = "172.17.0.1"), + }, + waitFor = @WaitFor( value = "mysqld: ready for connections", timeoutInMillis = 30000)) public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( - "mysql", - new HashMap<String, String>() - {{ - put( "MYSQL_ROOT_PASSWORD", "" ); - put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" ); - put( "MYSQL_DATABASE", "jdbc_test_db" ); - put( "MYSQL_ROOT_HOST", "172.17.0.1" ); - }}, - 30000L -// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule - ); - @Override protected void defineStorageModule( ModuleAssembly module ) { @@ -75,8 +70,8 @@ public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite .withConfig( configModule, Visibility.application ) .assemble( module ); - String mysqlHost = DOCKER.getDockerHost(); - int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" ); + String mysqlHost = "localhost"; + int mysqlPort = 8801; configModule.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC" @@ -84,7 +79,7 @@ public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MYSQL, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java index b4552de..6f1622e 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java @@ -19,6 +19,9 @@ */ package org.apache.polygene.entitystore.sqlkv; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; @@ -27,19 +30,14 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "postgres", - 5000L, - "PostgreSQL init process complete; ready for start up." ); - @Override // START SNIPPET: assembly public void assemble( ModuleAssembly module ) @@ -73,8 +71,8 @@ public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest .withConfig( config, Visibility.layer ) .assemble( module ); // END SNIPPET: assembly - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; DataSourceConfiguration defaults = config.forMixin( DataSourceConfiguration.class ).declareDefaults(); defaults.url().set( "jdbc:postgresql://" + host + ":" + port + "/jdbc_test_db" ); // START SNIPPET: assembly @@ -94,7 +92,7 @@ public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.POSTGRES, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java index ee45f23..4781389 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java @@ -19,25 +19,23 @@ */ package org.apache.polygene.entitystore.sqlkv; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.sqlkv.assembly.PostgreSQLEntityStoreAssembler; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.ClassRule; +import org.junit.jupiter.api.AfterEach; +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "postgres", - 5000L, - "PostgreSQL init process complete; ready for start up." ); - @Override protected void defineStorageModule( ModuleAssembly module ) { @@ -64,8 +62,8 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite .withConfig( configModule, Visibility.application ) .assemble( module ); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; configModule.forMixin( DataSourceConfiguration.class ).declareDefaults() .url().set( "jdbc:postgresql://" + host + ":" + port + "/jdbc_test_db" ); // START SNIPPET: assembly @@ -73,7 +71,7 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.POSTGRES, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java index a74e0c3..a0e12fe 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java @@ -28,14 +28,14 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; public class SQLiteEntityStoreTest extends AbstractEntityStoreTest { - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk(); @@ -76,7 +76,7 @@ public class SQLiteEntityStoreTest extends AbstractEntityStoreTest // END SNIPPET: assembly @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( moduleInstance, SQLDialect.SQLITE, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java index a73040c..d8a3485 100644 --- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java +++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java @@ -26,14 +26,14 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.entity.model.EntityStoreTestSuite; import org.jooq.SQLDialect; -import org.junit.After; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite { - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk(); @@ -66,7 +66,7 @@ public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite } @Override - @After + @AfterEach public void tearDown() { TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.SQLITE, super::tearDown ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/build.gradle b/extensions/indexing-elasticsearch/build.gradle index 671b48e..86cdd6b 100644 --- a/extensions/indexing-elasticsearch/build.gradle +++ b/extensions/indexing-elasticsearch/build.gradle @@ -34,6 +34,5 @@ dependencies { runtimeOnly polygene.core.runtime testImplementation polygene.core.testsupport - testImplementation libraries.junit_vintage testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ESEmbeddedRule.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ESEmbeddedRule.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ESEmbeddedRule.java deleted file mode 100644 index 8c9807c..0000000 --- a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ESEmbeddedRule.java +++ /dev/null @@ -1,131 +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.polygene.index.elasticsearch; - -import java.util.Locale; -import org.apache.polygene.api.activation.ActivationException; -import org.apache.polygene.api.common.Visibility; -import org.apache.polygene.api.structure.Application; -import org.apache.polygene.api.structure.Module; -import org.apache.polygene.bootstrap.AssemblyException; -import org.apache.polygene.bootstrap.ModuleAssembly; -import org.apache.polygene.bootstrap.SingletonAssembler; -import org.apache.polygene.index.elasticsearch.assembly.ESFilesystemIndexQueryAssembler; -import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; -import org.apache.polygene.library.fileconfig.FileConfigurationOverride; -import org.apache.polygene.test.EntityTestAssembler; -import org.elasticsearch.client.Client; -import org.junit.rules.TemporaryFolder; -import org.junit.rules.TestRule; -import org.junit.runner.Description; -import org.junit.runners.model.Statement; - -/** - * Embedded Elasticsearch JUnit Rule. - * - * Starting from Elasticsearch 5, startup is way slower. - * Reuse an embedded instance across tests. - */ -public class ESEmbeddedRule implements TestRule -{ - private final TemporaryFolder tmpDir; - private Client client; - - public ESEmbeddedRule( TemporaryFolder tmpDir ) - { - this.tmpDir = tmpDir; - } - - public Client client() - { - client.admin().cluster().prepareHealth().setWaitForYellowStatus().execute().actionGet(); - return client; - } - - public String indexName( String className, String methodName ) - { - String indexName = className; - if( methodName != null ) - { - indexName += '-' + methodName; - } - return indexName.toLowerCase( Locale.US ); - } - - @Override - public Statement apply( final Statement base, final Description description ) - { - return new Statement() - { - @Override - public void evaluate() throws Throwable - { - String name = indexName( description.getClassName(), description.getMethodName() ); - SingletonAssembler assembler = activateEmbeddedElasticsearch( name ); - Application application = assembler.application(); - client = findClient( assembler.module() ); - try - { - base.evaluate(); - } - finally - { - application.passivate(); - client.close(); - client = null; - } - } - }; - } - - private SingletonAssembler activateEmbeddedElasticsearch( final String name ) - { - try - { - return new SingletonAssembler( - module -> { - module.layer().application().setName( name ); - ModuleAssembly config = module.layer().module( "config" ); - new EntityTestAssembler().assemble( config ); - new EntityTestAssembler().assemble( module ); - new FileConfigurationAssembler() - .withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) ) - .assemble( module ); - new ESFilesystemIndexQueryAssembler() - .identifiedBy( name ) - .withConfig( config, Visibility.layer ) - .assemble( module ); - } - ); - } - catch( ActivationException | AssemblyException ex ) - { - throw new RuntimeException( "Embedded Elasticsearch Rule - Failed to activate", ex ); - } - } - - private Client findClient( Module module ) - { - Client client = module.serviceFinder().findService( ElasticSearchSupport.class ).get().client(); - if( client == null ) - { - throw new IllegalStateException( "Embedded Elasticsearch Rule - Failed to find client" ); - } - return client; - } -} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchComplexQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchComplexQueryTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchComplexQueryTest.java index 65e9280..b06d6f7 100644 --- a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchComplexQueryTest.java +++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchComplexQueryTest.java @@ -24,33 +24,27 @@ import org.apache.polygene.index.elasticsearch.assembly.ESClientIndexQueryAssemb import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; import org.apache.polygene.test.EntityTestAssembler; +import org.apache.polygene.test.TemporaryFolder; +import org.apache.polygene.test.TestName; import org.apache.polygene.test.indexing.AbstractComplexQueryTest; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; -import org.junit.rules.TestName; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.extension.ExtendWith; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; -@Ignore( "ElasticSearch Index/Query do not support Complex Queries, ie. queries by 'example values'" ) +@Disabled( "ElasticSearch Index/Query do not support Complex Queries, ie. queries by 'example values'" ) +@ExtendWith( { TemporaryFolder.class, EmbeddedElasticSearchExtension.class, TestName.class } ) public class ElasticSearchComplexQueryTest extends AbstractComplexQueryTest { - @ClassRule - public static final TemporaryFolder ELASTIC_SEARCH_DIR = new TemporaryFolder(); + public static EmbeddedElasticSearchExtension ELASTIC_SEARCH; - @ClassRule - public static final ESEmbeddedRule ELASTIC_SEARCH = new ESEmbeddedRule( ELASTIC_SEARCH_DIR ); + public TestName testName; - @Rule - public final TestName testName = new TestName(); + private TemporaryFolder tmpDir; - @Rule - public TemporaryFolder tmpDir = new TemporaryFolder(); - - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk();