http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchFinderTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchFinderTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchFinderTest.java index 66a6eab..98bf878 100644 --- a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchFinderTest.java +++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchFinderTest.java @@ -24,31 +24,26 @@ 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.AbstractEntityFinderTest; -import org.junit.BeforeClass; -import org.junit.ClassRule; -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.extension.ExtendWith; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; +@SuppressWarnings( "unused" ) +@ExtendWith( { TemporaryFolder.class, EmbeddedElasticSearchExtension.class, TestName.class } ) public class ElasticSearchFinderTest extends AbstractEntityFinderTest { - @ClassRule - public static final TemporaryFolder ELASTIC_SEARCH_DIR = new TemporaryFolder(); + private static EmbeddedElasticSearchExtension ELASTIC_SEARCH; - @ClassRule - public static final ESEmbeddedRule ELASTIC_SEARCH = new ESEmbeddedRule( ELASTIC_SEARCH_DIR ); + private 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();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchQueryTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchQueryTest.java index 4763257..44f4102 100644 --- a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchQueryTest.java +++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchQueryTest.java @@ -28,36 +28,32 @@ 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.AbstractQueryTest; import org.apache.polygene.test.util.NotYetImplemented; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.rules.TestName; +import org.junit.jupiter.api.extension.ExtendWith; import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk; +@ExtendWith( { TemporaryFolder.class, + EmbeddedElasticSearchExtension.class, + TestName.class } ) public class ElasticSearchQueryTest extends AbstractQueryTest { - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk(); } - @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(); - - @Rule - public TemporaryFolder tmpDir = new TemporaryFolder(); + public TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchTest.java index 6935ff2..e9bb52e 100644 --- a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchTest.java +++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ElasticSearchTest.java @@ -38,12 +38,11 @@ import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; +import org.apache.polygene.test.TestName; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.rules.TestName; +import org.junit.jupiter.api.extension.ExtendWith; import static org.apache.polygene.api.query.QueryExpressions.eq; import static org.apache.polygene.api.query.QueryExpressions.ne; @@ -54,26 +53,22 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsNull.notNullValue; +@ExtendWith( { TemporaryFolder.class, EmbeddedElasticSearchExtension.class, TestName.class } ) public class ElasticSearchTest extends AbstractPolygeneTest { - @BeforeClass + @BeforeAll public static void beforeClass_IBMJDK() { assumeNoIbmJdk(); } - @ClassRule - public static final TemporaryFolder ELASTIC_SEARCH_DIR = new TemporaryFolder(); - @ClassRule - public static final ESEmbeddedRule ELASTIC_SEARCH = new ESEmbeddedRule( ELASTIC_SEARCH_DIR ); + public static EmbeddedElasticSearchExtension ELASTIC_SEARCH; - @Rule - public final TestName testName = new TestName(); + public TestName testName; - @Rule - public TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; public interface Post extends HasIdentity @@ -139,8 +134,7 @@ public class ElasticSearchTest .withConfig( config, Visibility.layer ) .assemble( module ); ElasticSearchIndexingConfiguration esConfig = config.forMixin( ElasticSearchIndexingConfiguration.class ).declareDefaults(); - esConfig.index().set( ELASTIC_SEARCH.indexName( ElasticSearchQueryTest.class.getName(), - testName.getMethodName() ) ); + esConfig.index().set( ELASTIC_SEARCH.indexName( ElasticSearchQueryTest.class.getName(), testName.getMethodName() ) ); esConfig.indexNonAggregatedAssociations().set( Boolean.TRUE ); // FileConfig http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/EmbeddedElasticSearchExtension.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/EmbeddedElasticSearchExtension.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/EmbeddedElasticSearchExtension.java new file mode 100644 index 0000000..ad46200 --- /dev/null +++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/EmbeddedElasticSearchExtension.java @@ -0,0 +1,149 @@ +/* + * 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.lang.reflect.UndeclaredThrowableException; +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.apache.polygene.test.TemporaryFolder; +import org.elasticsearch.client.Client; +import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.extension.ExtensionContext; + +import static org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode.BOTTOM_UP; +import static org.junit.platform.commons.util.ReflectionUtils.findFields; + +/** + * Embedded Elasticsearch JUnit Rule. + * <p> + * Starting from Elasticsearch 5, startup is way slower. + * Reuse an embedded instance across tests. + */ +@ExtendWith( TemporaryFolder.class ) +public class EmbeddedElasticSearchExtension + implements BeforeAllCallback, AfterAllCallback +{ + private TemporaryFolder tmpDir; + private Client client; + private Application application; + + 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 ); + } + + 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; + } + + @Override + public void beforeAll( ExtensionContext context ) + throws Exception + { + this.tmpDir = new TemporaryFolder(); + this.tmpDir.beforeEach( context ); + + String name = indexName( context.getRequiredTestClass().getSimpleName(), context.getRequiredTestMethod().getName() ); + SingletonAssembler assembler = activateEmbeddedElasticsearch( name ); + application = assembler.application(); + client = findClient( assembler.module() ); + inject( context ); + } + + private void inject( ExtensionContext context ) + { + findFields( context.getRequiredTestClass(), + f -> f.getType().equals( EmbeddedElasticSearchExtension.class ), BOTTOM_UP ) + .forEach( f -> { + try + { + f.setAccessible( true ); + f.set( context.getRequiredTestInstance(), this ); + } + catch( IllegalAccessException e ) + { + throw new UndeclaredThrowableException( e ); + } + } ); + } + + @Override + public void afterAll( ExtensionContext context ) + throws Exception + { + application.passivate(); + client.close(); + client = null; + tmpDir.afterEach( context ); + } +} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ImmenseTermTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ImmenseTermTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ImmenseTermTest.java index b7adaed..425564c 100644 --- a/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ImmenseTermTest.java +++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/polygene/index/elasticsearch/ImmenseTermTest.java @@ -35,12 +35,11 @@ import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; +import org.apache.polygene.test.TestName; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; -import org.junit.rules.TestName; +import org.junit.jupiter.api.extension.ExtendWith; import static org.apache.polygene.api.query.QueryExpressions.eq; import static org.apache.polygene.api.query.QueryExpressions.templateFor; @@ -53,22 +52,18 @@ import static org.hamcrest.core.Is.is; * <p> * See <a href="https://ops4j1.jira.com/browse/QI-412">QI-412</a>. */ +@SuppressWarnings( "unused" ) +@ExtendWith( { TemporaryFolder.class, EmbeddedElasticSearchExtension.class, TestName.class } ) public class ImmenseTermTest extends AbstractPolygeneTest { - @ClassRule - public static final TemporaryFolder ELASTIC_SEARCH_DIR = new TemporaryFolder(); + private static EmbeddedElasticSearchExtension ELASTIC_SEARCH; - @ClassRule - public static final ESEmbeddedRule ELASTIC_SEARCH = new ESEmbeddedRule( ELASTIC_SEARCH_DIR ); + private 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(); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/build.gradle b/extensions/indexing-rdf/build.gradle index 9c127c8..73ebf31 100644 --- a/extensions/indexing-rdf/build.gradle +++ b/extensions/indexing-rdf/build.gradle @@ -35,7 +35,6 @@ dependencies { testImplementation polygene.core.testsupport testImplementation polygene.extension( 'entitystore-preferences' ) testImplementation polygene.extension( 'entitystore-jdbm' ) - testImplementation libraries.junit_vintage testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsAllTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsAllTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsAllTest.java index dbd7e8c..150801b 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsAllTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsAllTest.java @@ -42,19 +42,19 @@ import org.apache.polygene.library.fileconfig.FileConfigurationOverride; import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; // A test to verify that containsAll QueryExpression works properly. +@ExtendWith( TemporaryFolder.class ) public class ContainsAllTest extends AbstractPolygeneTest { - @Rule - public TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; public static final String TEST_STRING_1 = "TestString1"; public static final String TEST_STRING_2 = "Some\\Weird\"$String/[]"; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsTest.java index 78fcaea..ef96a75 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/ContainsTest.java @@ -38,9 +38,9 @@ import org.apache.polygene.library.fileconfig.FileConfigurationOverride; import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; import static org.apache.polygene.index.rdf.ContainsAllTest.TEST_STRING_1; import static org.apache.polygene.index.rdf.ContainsAllTest.TEST_STRING_2; @@ -51,10 +51,10 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; import static org.junit.jupiter.api.Assertions.assertThrows; +@ExtendWith( TemporaryFolder.class ) public class ContainsTest extends AbstractPolygeneTest { - @Rule - public TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/MultiLayeredTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/MultiLayeredTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/MultiLayeredTest.java index 6230b92..da360d7 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/MultiLayeredTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/MultiLayeredTest.java @@ -27,9 +27,9 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.bootstrap.layered.ModuleAssembler; import org.apache.polygene.index.rdf.assembly.RdfMemoryStoreAssembler; import org.apache.polygene.test.indexing.layered.AbstractMultiLayeredIndexingTest; -import org.junit.Ignore; +import org.junit.jupiter.api.Disabled; -@Ignore("Disabled until the new Query sturcture is in place, properly supporting multilayered applications.") +@Disabled( "Disabled until the new Query sturcture is in place, properly supporting multilayered applications.") public class MultiLayeredTest extends AbstractMultiLayeredIndexingTest { public MultiLayeredTest() http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java index 27a1285..dff5ade 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java @@ -50,18 +50,18 @@ import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.spi.query.IndexExporter; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Ignore; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@ExtendWith( TemporaryFolder.class ) public class RDFPerformanceTest extends AbstractPolygeneTest { private static final Logger LOG = LoggerFactory.getLogger( RDFPerformanceTest.class ); - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; public interface ExampleEntity extends EntityComposite { @@ -235,28 +235,28 @@ public class RDFPerformanceTest extends AbstractPolygeneTest indexerExporter.exportReadableToStream( System.out ); } - @Ignore + @Disabled @Test public void performanceTest1000() throws Exception { this.performTest( 1000 ); } - @Ignore + @Disabled @Test public void performanceTest5000() throws Exception { this.performTest( 5000 ); } - @Ignore + @Disabled @Test public void performanceTest10000() throws Exception { this.performTest( 10000 ); } - @Ignore + @Disabled @Test public void performanceTest100000() throws Exception { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfComplexQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfComplexQueryTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfComplexQueryTest.java index 63ca3fd..6994b63 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfComplexQueryTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfComplexQueryTest.java @@ -25,9 +25,9 @@ import org.apache.polygene.library.rdf.entity.EntityStateSerializer; import org.apache.polygene.library.rdf.entity.EntityTypeSerializer; import org.apache.polygene.library.rdf.repository.MemoryRepositoryService; import org.apache.polygene.test.indexing.AbstractComplexQueryTest; -import org.junit.Ignore; +import org.junit.jupiter.api.Disabled; -@Ignore( "RDF Index/Query do not support Complex Queries, ie. queries by 'example values'" ) +@Disabled( "RDF Index/Query do not support Complex Queries, ie. queries by 'example values'" ) public class RdfComplexQueryTest extends AbstractComplexQueryTest { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryMultimoduleTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryMultimoduleTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryMultimoduleTest.java index 308182d..f9654f7 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryMultimoduleTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryMultimoduleTest.java @@ -27,14 +27,14 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.rdf.assembly.RdfNativeSesameStoreAssembler; import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.apache.polygene.test.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; +@ExtendWith( TemporaryFolder.class ) public class RdfQueryMultimoduleTest extends RdfQueryTest { - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryTest.java index 6b9bb7e..c5531bd 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RdfQueryTest.java @@ -25,18 +25,17 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.rdf.assembly.RdfNativeSesameStoreAssembler; import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.test.EntityTestAssembler; +import org.apache.polygene.test.TemporaryFolder; import org.apache.polygene.test.indexing.AbstractQueryTest; -import org.junit.Ignore; -import org.junit.Rule; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; +@ExtendWith( TemporaryFolder.class ) public class RdfQueryTest extends AbstractQueryTest { - - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) @@ -53,7 +52,7 @@ public class RdfQueryTest } @Test - @Ignore( "oneOf() Query Expression not supported by RDF Indexing" ) + @Disabled( "oneOf() Query Expression not supported by RDF Indexing" ) @Override public void script23() { @@ -61,7 +60,7 @@ public class RdfQueryTest } @Test - @Ignore( "Deep queries in complex values are not supported by RDF Indexing" ) + @Disabled( "Deep queries in complex values are not supported by RDF Indexing" ) @Override public void script29() { @@ -69,7 +68,7 @@ public class RdfQueryTest } @Test - @Ignore( "NamedAssociation are not supported by RDF Indexing" ) + @Disabled( "NamedAssociation are not supported by RDF Indexing" ) @Override public void script35() { @@ -77,7 +76,7 @@ public class RdfQueryTest } @Test - @Ignore( "NamedAssociation are not supported by RDF Indexing" ) + @Disabled( "NamedAssociation are not supported by RDF Indexing" ) @Override public void script36() { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi173/Qi173IssueTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi173/Qi173IssueTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi173/Qi173IssueTest.java index 2ea96e3..0731278 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi173/Qi173IssueTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi173/Qi173IssueTest.java @@ -35,7 +35,6 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.rdf.assembly.RdfMemoryStoreAssembler; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Assert; import org.junit.jupiter.api.Test; import static org.apache.polygene.api.query.QueryExpressions.orderBy; @@ -86,7 +85,7 @@ public class Qi173IssueTest Query<Car> query = uow.newQuery( qb ); query.orderBy( orderBy( template.manufacturer() ), orderBy( template.model() ) ); Iterator<Car> cars = query.iterator(); - Assert.assertThat( cars.hasNext(), is( true ) ); + assertThat( cars.hasNext(), is( true ) ); Car car1 = cars.next(); assertThat( "Ford", equalTo( car1.manufacturer().get() ) ); assertThat( "Mustang", equalTo( car1.model().get() ) ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationMandatory/IssueTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationMandatory/IssueTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationMandatory/IssueTest.java index ddf6cda..0b2c633 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationMandatory/IssueTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationMandatory/IssueTest.java @@ -25,7 +25,6 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.rdf.qi64.AbstractIssueTest; import org.apache.polygene.index.rdf.qi64.AccountComposite; -import org.junit.Before; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequired/IssueTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequired/IssueTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequired/IssueTest.java index 7d9a010..2543b7b 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequired/IssueTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequired/IssueTest.java @@ -25,14 +25,13 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.rdf.qi64.AbstractIssueTest; import org.apache.polygene.index.rdf.qi64.AccountComposite; -import org.junit.Before; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsNull.notNullValue; -import static org.junit.Assert.assertThat; public final class IssueTest extends AbstractIssueTest http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequiresNew/IssueTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequiresNew/IssueTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequiresNew/IssueTest.java index bd99cd2..765cb9a 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequiresNew/IssueTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi64/withPropagationRequiresNew/IssueTest.java @@ -26,14 +26,13 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.rdf.qi64.AbstractIssueTest; import org.apache.polygene.index.rdf.qi64.AccountComposite; -import org.junit.Before; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsNull.notNullValue; -import static org.junit.Assert.assertThat; public class IssueTest extends AbstractIssueTest http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi95/Qi95IssueTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi95/Qi95IssueTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi95/Qi95IssueTest.java index 520fb7f..f1155bb 100644 --- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi95/Qi95IssueTest.java +++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/qi95/Qi95IssueTest.java @@ -44,19 +44,17 @@ import org.apache.polygene.index.rdf.assembly.RdfMemoryStoreAssembler; import org.apache.polygene.index.rdf.assembly.RdfNativeSesameStoreAssembler; import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertTrue; +@ExtendWith( TemporaryFolder.class ) public class Qi95IssueTest { - - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Test public void canCreateAndQueryWithNativeRdfAndJdbm() @@ -133,7 +131,7 @@ public class Qi95IssueTest public void createABunchOfStuffAndDoQueries( UnitOfWorkFactory unitOfWorkFactory, QueryBuilderFactory queryBuilderFactory - ) + ) throws Exception { UnitOfWork uow = unitOfWorkFactory.newUnitOfWork(); @@ -157,14 +155,14 @@ public class Qi95IssueTest qb = queryBuilderFactory.newQueryBuilder( ItemType.class ); Iterable<ItemType> listAfterFirstQueryAndAdd = copyOf( uow.newQuery( qb ) ); - assertTrue( "Band is not in the list after the first query and add", - hasItemTypeNamed( "Band", listAfterFirstQueryAndAdd ) ); - assertTrue( "Bracelet is not in the list after the first query and add", - hasItemTypeNamed( "Bracelet", listAfterFirstQueryAndAdd ) ); - assertTrue( "Necklace is not in the list after the first query and add", - hasItemTypeNamed( "Necklace", listAfterFirstQueryAndAdd ) ); - assertTrue( "Watch is not in the list after the first query and add", - hasItemTypeNamed( "Watch", listAfterFirstQueryAndAdd ) ); + assertThat( "Band is not in the list after the first query and add", + hasItemTypeNamed( "Band", listAfterFirstQueryAndAdd ), is( true ) ); + assertThat( "Bracelet is not in the list after the first query and add", + hasItemTypeNamed( "Bracelet", listAfterFirstQueryAndAdd ), is( true ) ); + assertThat( "Necklace is not in the list after the first query and add", + hasItemTypeNamed( "Necklace", listAfterFirstQueryAndAdd ), is( true ) ); + assertThat( "Watch is not in the list after the first query and add", + hasItemTypeNamed( "Watch", listAfterFirstQueryAndAdd ), is( true ) ); newItemType( uow, "Ear ring" ); uow.complete(); @@ -182,7 +180,7 @@ public class Qi95IssueTest private Application createApplication( final ModuleAssemblyBuilder queryServiceModuleBuilder, final ModuleAssemblyBuilder entityStoreModuleBuilder, final LayerAssemblyBuilder domainLayerBuilder - ) + ) throws AssemblyException { Energy4Java polygene = new Energy4Java(); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-solr/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/indexing-solr/build.gradle b/extensions/indexing-solr/build.gradle index b3a1bca..df06bc6 100644 --- a/extensions/indexing-solr/build.gradle +++ b/extensions/indexing-solr/build.gradle @@ -34,7 +34,6 @@ dependencies { runtimeOnly polygene.core.runtime testImplementation polygene.core.testsupport - testImplementation libraries.junit_vintage testRuntimeOnly libraries.logback testRuntimeOnly libraries.servlet_api http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrEntityFinderTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrEntityFinderTest.java b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrEntityFinderTest.java index c67e70b..f97d348 100644 --- a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrEntityFinderTest.java +++ b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrEntityFinderTest.java @@ -24,17 +24,17 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.solr.assembly.SolrIndexingAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; +import org.apache.polygene.test.TemporaryFolder; import org.apache.polygene.test.indexing.AbstractEntityFinderTest; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.extension.ExtendWith; -@Ignore( "SOLR Index/Query is not working at all" ) +@Disabled( "SOLR Index/Query is not working at all" ) +@ExtendWith( TemporaryFolder.class ) public class SolrEntityFinderTest extends AbstractEntityFinderTest { - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrNamedQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrNamedQueryTest.java b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrNamedQueryTest.java index daba9b3..045f81b 100644 --- a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrNamedQueryTest.java +++ b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrNamedQueryTest.java @@ -26,17 +26,17 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.solr.assembly.SolrIndexingAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; +import org.apache.polygene.test.TemporaryFolder; import org.apache.polygene.test.indexing.AbstractNamedQueryTest; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.extension.ExtendWith; -@Ignore( "SOLR Index/Query is not working at all" ) +@Disabled( "SOLR Index/Query is not working at all" ) +@ExtendWith( TemporaryFolder.class ) public class SolrNamedQueryTest extends AbstractNamedQueryTest { - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryServiceTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryServiceTest.java b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryServiceTest.java index ca06e10..605113e 100644 --- a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryServiceTest.java +++ b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryServiceTest.java @@ -35,22 +35,22 @@ import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; +import org.apache.polygene.test.TemporaryFolder; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; -import org.junit.Before; -import org.junit.Rule; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; +@ExtendWith( TemporaryFolder.class ) public class SolrQueryServiceTest extends AbstractPolygeneTest { - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) @@ -70,7 +70,7 @@ public class SolrQueryServiceTest module.entities( TestEntity.class ); } - @Before + @BeforeEach public void index() throws UnitOfWorkCompletionException, InterruptedException { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryTest.java b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryTest.java index f61b665..61c1781 100644 --- a/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryTest.java +++ b/extensions/indexing-solr/src/test/java/org/apache/polygene/index/solr/SolrQueryTest.java @@ -24,17 +24,17 @@ import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.solr.assembly.SolrIndexingAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationAssembler; import org.apache.polygene.library.fileconfig.FileConfigurationOverride; +import org.apache.polygene.test.TemporaryFolder; import org.apache.polygene.test.indexing.AbstractQueryTest; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.extension.ExtendWith; -@Ignore( "SOLR Index/Query is not working at all" ) +@Disabled( "SOLR Index/Query is not working at all" ) +@ExtendWith( TemporaryFolder.class ) public class SolrQueryTest extends AbstractQueryTest { - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-sql/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/build.gradle b/extensions/indexing-sql/build.gradle index 5d6f71e..caa5cc7 100644 --- a/extensions/indexing-sql/build.gradle +++ b/extensions/indexing-sql/build.gradle @@ -35,6 +35,7 @@ dependencies { testImplementation polygene.internals.testsupport testImplementation polygene.library( 'sql-dbcp' ) + testImplementation libraries.docker_junit testRuntimeOnly libraries.logback testRuntimeOnly libraries.derby http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLComplexQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLComplexQueryTest.java b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLComplexQueryTest.java index f13801a..938ccf4 100644 --- a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLComplexQueryTest.java +++ b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLComplexQueryTest.java @@ -19,26 +19,27 @@ */ package org.apache.polygene.index.sql.postgresql; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.indexing.AbstractComplexQueryTest; -import org.junit.ClassRule; import org.junit.jupiter.api.BeforeEach; +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLComplexQueryTest extends AbstractComplexQueryTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "postgres", 3000L, "PostgreSQL init process complete; ready for start up." ); @Override public void assemble( ModuleAssembly mainModule ) throws AssemblyException { super.assemble( mainModule ); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; SQLTestHelper.assembleWithMemoryEntityStore( mainModule, host, port ); } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLDBIntegrityTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLDBIntegrityTest.java b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLDBIntegrityTest.java index 0fea8d5..8d6d4a8 100644 --- a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLDBIntegrityTest.java +++ b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLDBIntegrityTest.java @@ -19,6 +19,9 @@ */ package org.apache.polygene.index.sql.postgresql; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import java.sql.Connection; import javax.sql.DataSource; import org.apache.polygene.api.common.UseDefaults; @@ -36,18 +39,17 @@ import org.apache.polygene.library.sql.common.SQLUtil; import org.apache.polygene.library.sql.generator.vendor.PostgreSQLVendor; import org.apache.polygene.library.sql.generator.vendor.SQLVendorProvider; import org.apache.polygene.test.AbstractPolygeneTest; -import org.apache.polygene.test.docker.DockerRule; -import org.junit.Assert; -import org.junit.ClassRule; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.IsEqual.equalTo; + +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432 ), + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000 ) ) public class PostgreSQLDBIntegrityTest extends AbstractPolygeneTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "postgres", 3000L, "PostgreSQL init process complete; ready for start up." ); - public interface TestEntity extends EntityComposite { @@ -62,8 +64,8 @@ public class PostgreSQLDBIntegrityTest public void assemble( ModuleAssembly module ) throws AssemblyException { - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; SQLTestHelper.assembleWithMemoryEntityStore( module, host, port ); module.entities( TestEntity.class ); } @@ -101,19 +103,19 @@ public class PostgreSQLDBIntegrityTest GenericDatabaseExplorer.visitDatabaseTables( connection, null, schemaName, null, new DatabaseProcessorAdapter() - { - @Override - public void beginProcessRowInfo( String schemaNamee, String tableName, Object[] rowContents ) { - if( ( tableName.startsWith( DBNames.QNAME_TABLE_NAME_PREFIX ) - && ( tableName.equals( DBNames.QNAME_TABLE_NAME_PREFIX + 0 ) - || tableName.equals( DBNames.QNAME_TABLE_NAME_PREFIX + 1 ) ) ) - || tableName.equals( DBNames.ALL_QNAMES_TABLE_NAME ) - || tableName.equals( DBNames.ENTITY_TABLE_NAME ) ) + @Override + public void beginProcessRowInfo( String schemaNamee, String tableName, Object[] rowContents ) { - throw new RuntimeException( "Table: " + schemaNamee + "." + tableName ); + if( ( tableName.startsWith( DBNames.QNAME_TABLE_NAME_PREFIX ) + && ( tableName.equals( DBNames.QNAME_TABLE_NAME_PREFIX + 0 ) + || tableName.equals( DBNames.QNAME_TABLE_NAME_PREFIX + 1 ) ) ) + || tableName.equals( DBNames.ALL_QNAMES_TABLE_NAME ) + || tableName.equals( DBNames.ENTITY_TABLE_NAME ) ) + { + throw new RuntimeException( "Table: " + schemaNamee + "." + tableName ); + } } - } }, SQLVendorProvider.createVendor( PostgreSQLVendor.class ) ); } @@ -138,8 +140,7 @@ public class PostgreSQLDBIntegrityTest uow = this.unitOfWorkFactory.newUnitOfWork(); entity = uow.get( entity ); - Assert.assertEquals( "New value did not store in indexing.", "NewTestString", entity - .testString().get() ); + assertThat( "New value did not store in indexing.", entity.testString().get(), equalTo( "NewTestString" ) ); uow.discard(); } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLEntityFinderTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLEntityFinderTest.java b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLEntityFinderTest.java index a5e3f39..70daf02 100644 --- a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLEntityFinderTest.java +++ b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLEntityFinderTest.java @@ -19,26 +19,26 @@ */ package org.apache.polygene.index.sql.postgresql; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.indexing.AbstractEntityFinderTest; -import org.junit.ClassRule; import org.junit.jupiter.api.BeforeEach; +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLEntityFinderTest extends AbstractEntityFinderTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "postgres", 3000L, "PostgreSQL init process complete; ready for start up." ); - @Override public void assemble( ModuleAssembly mainModule ) throws AssemblyException { super.assemble( mainModule ); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; SQLTestHelper.assembleWithMemoryEntityStore( mainModule, host, port ); } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java index 5c77597..c135098 100644 --- a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java +++ b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java @@ -19,13 +19,14 @@ */ package org.apache.polygene.index.sql.postgresql; +import com.github.junit5docker.Docker; +import com.github.junit5docker.Port; +import com.github.junit5docker.WaitFor; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; -import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.indexing.AbstractQueryTest; -import org.junit.ClassRule; -import org.junit.Ignore; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** @@ -33,21 +34,18 @@ import org.junit.jupiter.api.Test; * <p>Many features are not supported.</p> */ // See org.apache.polygene.index.sql.support.skeletons.SQLCompatEntityStateWrapper that filter out unsupported properties. +@Docker( image = "postgres", ports = @Port( exposed = 8801, inner = 5432), + waitFor = @WaitFor( value = "PostgreSQL init process complete; ready for start up.", timeoutInMillis = 30000)) public class PostgreSQLQueryTest extends AbstractQueryTest { - @ClassRule - public static final DockerRule DOCKER = new DockerRule( "postgres", - 10000L, - "PostgreSQL init process complete; ready for start up." ); - @Override public void assemble( ModuleAssembly mainModule ) throws AssemblyException { super.assemble( mainModule ); - String host = DOCKER.getDockerHost(); - int port = DOCKER.getExposedContainerPort( "5432/tcp" ); + String host = "localhost"; + int port = 8801; SQLTestHelper.assembleWithMemoryEntityStore( mainModule, host, port ); } @@ -75,7 +73,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script04_ne() { @@ -83,7 +81,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script12_ne() { @@ -91,7 +89,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NamedAssociation are not supported by SQL Indexing" ) + @Disabled( "NamedAssociation are not supported by SQL Indexing" ) @Override public void script35() { @@ -99,7 +97,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NamedAssociation are not supported by SQL Indexing" ) + @Disabled( "NamedAssociation are not supported by SQL Indexing" ) @Override public void script36() { @@ -107,7 +105,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "Queries on Enums are not supported by SQL Indexing" ) + @Disabled( "Queries on Enums are not supported by SQL Indexing" ) @Override public void script38() { @@ -115,7 +113,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "Queries on Enums and NeSpecification are not supported by SQL Indexing" ) + @Disabled( "Queries on Enums and NeSpecification are not supported by SQL Indexing" ) @Override public void script39() { @@ -123,7 +121,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "Date is not supported by SQL Indexing" ) + @Disabled( "Date is not supported by SQL Indexing" ) @Override public void script40_Date() { @@ -131,7 +129,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "DateTime is not supported by SQL Indexing" ) + @Disabled( "DateTime is not supported by SQL Indexing" ) @Override public void script40_DateTime() { @@ -139,7 +137,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "LocalDate is not supported by SQL Indexing" ) + @Disabled( "LocalDate is not supported by SQL Indexing" ) @Override public void script40_LocalDate() { @@ -147,7 +145,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "LocalDateTime is not supported by SQL Indexing" ) + @Disabled( "LocalDateTime is not supported by SQL Indexing" ) @Override public void script40_LocalDateTime() { @@ -155,7 +153,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script41_Instant() { @@ -163,7 +161,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script41_DateTime() { @@ -171,7 +169,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script41_LocalDate() { @@ -179,7 +177,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script41_LocalDateTime() { @@ -187,7 +185,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script42_Instant() { @@ -195,7 +193,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script42_DateTime() { @@ -203,7 +201,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script42_LocalDate() { @@ -211,7 +209,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script42_LocalDateTime() { @@ -219,7 +217,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "Date is not supported by SQL Indexing" ) + @Disabled( "Date is not supported by SQL Indexing" ) @Override public void script43_Date() { @@ -227,7 +225,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "DateTime is not supported by SQL Indexing" ) + @Disabled( "DateTime is not supported by SQL Indexing" ) @Override public void script43_DateTime() { @@ -235,7 +233,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "LocalDate is not supported by SQL Indexing" ) + @Disabled( "LocalDate is not supported by SQL Indexing" ) @Override public void script43_LocalDate() { @@ -243,7 +241,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "LocalDateTime is not supported by SQL Indexing" ) + @Disabled( "LocalDateTime is not supported by SQL Indexing" ) @Override public void script43_LocalDateTime() { @@ -251,7 +249,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script51_BigInteger() { @@ -259,7 +257,7 @@ public class PostgreSQLQueryTest } @Test - @Ignore( "NeSpecification is not supported by SQL Indexing" ) + @Disabled( "NeSpecification is not supported by SQL Indexing" ) @Override public void script51_BigDecimal() { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/SQLTestHelper.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/SQLTestHelper.java b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/SQLTestHelper.java index be5727d..b911eae 100644 --- a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/SQLTestHelper.java +++ b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/SQLTestHelper.java @@ -21,10 +21,8 @@ package org.apache.polygene.index.sql.postgresql; import java.sql.Connection; import javax.sql.DataSource; -import org.apache.polygene.api.service.ServiceFinder; -import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; -import org.junit.Assume; import org.apache.polygene.api.common.Visibility; +import org.apache.polygene.api.service.ServiceFinder; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.index.reindexer.ReindexerConfiguration; @@ -33,8 +31,10 @@ import org.apache.polygene.index.sql.support.common.RebuildingStrategy; import org.apache.polygene.index.sql.support.common.ReindexingStrategy; import org.apache.polygene.library.sql.assembly.DataSourceAssembler; import org.apache.polygene.library.sql.common.SQLUtil; +import org.apache.polygene.library.sql.datasource.DataSourceConfiguration; import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler; import org.apache.polygene.test.EntityTestAssembler; +import org.opentest4j.TestAbortedException; class SQLTestHelper { @@ -56,24 +56,24 @@ class SQLTestHelper // START SNIPPET: assembly // DataSourceService new DBCPDataSourceServiceAssembler(). - identifiedBy( "postgres-datasource-service" ). - visibleIn( Visibility.module ). - withConfig( config, Visibility.layer ). - assemble( mainModule ); + identifiedBy( "postgres-datasource-service" ). + visibleIn( Visibility.module ). + withConfig( config, Visibility.layer ). + assemble( mainModule ); // DataSource new DataSourceAssembler(). - withDataSourceServiceIdentity( "postgres-datasource-service" ). - identifiedBy( "postgres-datasource" ). - visibleIn( Visibility.module ). - withCircuitBreaker(). - assemble( mainModule ); + withDataSourceServiceIdentity( "postgres-datasource-service" ). + identifiedBy( "postgres-datasource" ). + visibleIn( Visibility.module ). + withCircuitBreaker(). + assemble( mainModule ); // SQL Index/Query new PostgreSQLIndexQueryAssembler(). - visibleIn( Visibility.module ). - withConfig( config, Visibility.layer ). - assemble( mainModule ); + visibleIn( Visibility.module ). + withConfig( config, Visibility.layer ). + assemble( mainModule ); // END SNIPPET: assembly config.forMixin( DataSourceConfiguration.class ).declareDefaults() @@ -83,12 +83,12 @@ class SQLTestHelper // various tests mainModule.services( RebuildingStrategy.class ). withMixins( RebuildingStrategy.AlwaysNeed.class ). - visibleIn( Visibility.module ); + visibleIn( Visibility.module ); // Always re-index in test scenarios mainModule.services( ReindexingStrategy.class ). withMixins( ReindexingStrategy.AlwaysNeed.class ). - visibleIn( Visibility.module ); + visibleIn( Visibility.module ); config.entities( ReindexerConfiguration.class ). visibleIn( Visibility.layer ); } @@ -101,26 +101,24 @@ class SQLTestHelper DataSource ds = serviceFinder.findService( DataSource.class ).get(); connection = ds.getConnection(); - Assume.assumeNotNull( connection ); - + if( connection == null ) + { + throw new TestAbortedException( "Unable to establish a DataSource" ); + } } catch( Throwable t ) { t.printStackTrace(); - Assume.assumeNoException( t ); - + throw new TestAbortedException( "Unable to establish a DataSource", t ); } finally { - SQLUtil.closeQuietly( connection ); - } } private SQLTestHelper() { } - } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/reindexer/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/reindexer/build.gradle b/extensions/reindexer/build.gradle index 7c69670..f956f60 100644 --- a/extensions/reindexer/build.gradle +++ b/extensions/reindexer/build.gradle @@ -32,7 +32,6 @@ dependencies { testImplementation polygene.core.testsupport testImplementation polygene.extension( 'entitystore-jdbm' ) testImplementation polygene.extension( 'indexing-rdf' ) - testImplementation libraries.junit_vintage testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/extensions/reindexer/src/test/java/org/apache/polygene/index/reindexer/ReindexerTest.java ---------------------------------------------------------------------- diff --git a/extensions/reindexer/src/test/java/org/apache/polygene/index/reindexer/ReindexerTest.java b/extensions/reindexer/src/test/java/org/apache/polygene/index/reindexer/ReindexerTest.java index 0c527a9..995ef24 100644 --- a/extensions/reindexer/src/test/java/org/apache/polygene/index/reindexer/ReindexerTest.java +++ b/extensions/reindexer/src/test/java/org/apache/polygene/index/reindexer/ReindexerTest.java @@ -40,23 +40,23 @@ import org.apache.polygene.index.rdf.assembly.RdfNativeSesameStoreAssembler; import org.apache.polygene.library.rdf.repository.NativeConfiguration; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; -import org.junit.Rule; +import org.apache.polygene.test.TemporaryFolder; import org.junit.jupiter.api.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.extension.ExtendWith; import static org.apache.polygene.api.query.QueryExpressions.eq; import static org.apache.polygene.api.query.QueryExpressions.templateFor; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; +@ExtendWith( TemporaryFolder.class ) public class ReindexerTest extends AbstractPolygeneTest { private static final String ENTITIES_DIR = "polygene-entities"; private static final String INDEX_DIR = "polygene-index"; - @Rule - public final TemporaryFolder tmpDir = new TemporaryFolder(); + private TemporaryFolder tmpDir; @Override public void assemble( ModuleAssembly module ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/gradle/wrapper/gradle-wrapper.properties ---------------------------------------------------------------------- diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 05ad398..490112c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -20,4 +20,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/internals/testsupport-internal/build.gradle ---------------------------------------------------------------------- diff --git a/internals/testsupport-internal/build.gradle b/internals/testsupport-internal/build.gradle index 6a8a1f4..4439c49 100644 --- a/internals/testsupport-internal/build.gradle +++ b/internals/testsupport-internal/build.gradle @@ -26,7 +26,6 @@ jar { manifest { name = "Apache Polygene⢠Internals - Test Support" } } dependencies { api polygene.core.testsupport - implementation (libraries.docker_junit ) { exclude group: "junit", module: "junit" } - implementation libraries.junit_vintage + implementation (libraries.docker_junit ) runtimeOnly polygene.core.runtime } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DelayChecker.java ---------------------------------------------------------------------- diff --git a/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DelayChecker.java b/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DelayChecker.java deleted file mode 100644 index 36de1ea..0000000 --- a/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DelayChecker.java +++ /dev/null @@ -1,60 +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.test.docker; - -import pl.domzal.junit.docker.rule.wait.StartCondition; -import pl.domzal.junit.docker.rule.wait.StartConditionCheck; - -class DelayChecker - implements StartCondition -{ - - private final long millis; - private final long doneAt; - - DelayChecker( long millis ) - { - this.millis = millis; - this.doneAt = System.currentTimeMillis() + millis; - } - - @Override - public StartConditionCheck build( pl.domzal.junit.docker.rule.DockerRule currentRule ) - { - return new StartConditionCheck() - { - - @Override - public boolean check() - { - return System.currentTimeMillis() > doneAt; - } - - @Override - public String describe() - { - return String.format( "delay check %d ms", millis ); - } - - @Override - public void after() - { - } - }; - } -} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerExtension.java ---------------------------------------------------------------------- diff --git a/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerExtension.java b/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerExtension.java new file mode 100644 index 0000000..64f8d7a --- /dev/null +++ b/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerExtension.java @@ -0,0 +1,23 @@ +package org.apache.polygene.test.docker; + +import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.ExtensionContext; + +public class DockerExtension + implements BeforeAllCallback, AfterAllCallback +{ + @Override + public void afterAll( ExtensionContext context ) + throws Exception + { + + } + + @Override + public void beforeAll( ExtensionContext context ) + throws Exception + { + + } +} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerRule.java ---------------------------------------------------------------------- diff --git a/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerRule.java b/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerRule.java deleted file mode 100644 index 07cf07a..0000000 --- a/internals/testsupport-internal/src/main/java/org/apache/polygene/test/docker/DockerRule.java +++ /dev/null @@ -1,156 +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.test.docker; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import org.junit.rules.TestRule; -import org.junit.runner.Description; -import org.junit.runners.model.Statement; -import pl.domzal.junit.docker.rule.DockerRuleBuilder; -import pl.domzal.junit.docker.rule.WaitFor; -import pl.domzal.junit.docker.rule.wait.LineListener; -import pl.domzal.junit.docker.rule.wait.StartCondition; -import pl.domzal.junit.docker.rule.wait.StartConditionCheck; - -import static java.util.stream.Collectors.joining; -import static org.junit.Assume.assumeFalse; - -public class DockerRule - implements TestRule -{ - private final boolean dockerDisabled = Boolean.valueOf( System.getProperty( "DOCKER_DISABLED", "false" ) ); - private final pl.domzal.junit.docker.rule.DockerRule dockerRule; - - public DockerRule( String image, int... portsToWaitFor ) - { - this( image, null, WaitFor.tcpPort( portsToWaitFor ) ); - } - - public DockerRule( String image, String... logMessageSequenceToWaitFor ) - { - this( image, null, WaitFor.logMessageSequence( logMessageSequenceToWaitFor ) ); - } - - public DockerRule( String image, Map<String, String> environment, String... logMessageSequnceToWaitFor ) - { - this( image, environment, WaitFor.logMessageSequence( logMessageSequnceToWaitFor ) ); - } - - public DockerRule( String image, Long delay, int... portsToWaitFor ) - { - this( image, null, new DelayChecker( delay ), WaitFor.tcpPort( portsToWaitFor ), new DelayChecker( delay ) ); - } - - public DockerRule( String image, Long delay, String... logMessageSequenceToWaitFor ) - { - this( image, null, WaitFor.logMessageSequence( logMessageSequenceToWaitFor ), new DelayChecker( delay ) ); - } - - public DockerRule( String image, Map<String, String> environment, Long delay, String... logMessageSequnceToWaitFor ) - { - this( image, environment, WaitFor.logMessageSequence( logMessageSequnceToWaitFor ), new DelayChecker( delay ) ); - } - - public DockerRule( String image, Map<String, String> environment, StartCondition... waitFor ) - { - if( environment == null ) - { - environment = Collections.emptyMap(); - } - if( dockerDisabled ) - { - dockerRule = null; - } - else - { - DockerRuleBuilder builder = pl.domzal.junit.docker.rule.DockerRule - .builder() - .imageName( "org.apache.polygene:org.apache.polygene.internal.docker-" + image ) - .publishAllPorts( true ) - .waitForTimeout( 180 ) - .waitFor( rule -> new AndChecker( rule, waitFor ) ); - environment.forEach( builder::env ); - dockerRule = builder.build(); - } - } - - @Override - public Statement apply( Statement base, Description description ) - { - assumeFalse( dockerDisabled ); - return dockerRule.apply( base, description ); - } - - public String getDockerHost() - { - return dockerRule.getDockerHost(); - } - - public int getExposedContainerPort( String containerPort ) - { - return Integer.valueOf( dockerRule.getExposedContainerPort( containerPort ) ); - } - - public class AndChecker - implements StartConditionCheck, LineListener - { - private List<StartConditionCheck> allOf; - - public AndChecker( pl.domzal.junit.docker.rule.DockerRule rule, StartCondition... allOf ) - { - this.allOf = Arrays.stream( allOf ).map( cond -> cond.build( rule ) ).collect( Collectors.toList() ); - } - - @Override - public boolean check() - { - return allOf.stream() - .allMatch( StartConditionCheck::check ); - } - - @Override - public String describe() - { - return allOf.stream() - .map( StartConditionCheck::describe ) - .collect( joining( ",", "and(", ")" ) ); - } - - @Override - public void after() - { - allOf.forEach( StartConditionCheck::after ); - } - - @Override - public void nextLine( String line ) - { - allOf.forEach( listener -> - { - if( listener instanceof LineListener ) - { - ( (LineListener) listener ).nextLine( line ); - } - } ); - } - } -} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java ---------------------------------------------------------------------- diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java index c0d3db3..ec154b8 100644 --- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java +++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java @@ -30,6 +30,7 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -76,6 +77,7 @@ public class AlarmHistoryImplTest } @Override + @AfterEach public void tearDown() { if ( unitOfWorkFactory.isUnitOfWorkActive()) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java ---------------------------------------------------------------------- diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java index 2dfbfee..a9a036b 100644 --- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java +++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java @@ -31,6 +31,7 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -74,6 +75,7 @@ public class AlarmPointImplTest extends AbstractPolygeneTest } @Override + @AfterEach public void tearDown() { if( unitOfWorkFactory.isUnitOfWorkActive() ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java ---------------------------------------------------------------------- diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java index e021cef..7fe6f70 100644 --- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java +++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java @@ -29,6 +29,7 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -77,6 +78,7 @@ public class AlarmServiceTest } @Override + @AfterEach public void tearDown() { if ( unitOfWorkFactory.isUnitOfWorkActive()) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7585af08/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java ---------------------------------------------------------------------- diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java index 2993388..6f43926 100644 --- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java +++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java @@ -32,6 +32,7 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.test.AbstractPolygeneTest; import org.apache.polygene.test.EntityTestAssembler; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -76,6 +77,7 @@ public class ExtendedAlarmModelTest } @Override + @AfterEach public void tearDown() { UnitOfWork uow = unitOfWorkFactory.currentUnitOfWork();