Working towards a bootstrap test to be added to generated code. NOT WORKING at the moment, and hope Paul can help to figure out what goes wrong in "npm run test".
Signed-off-by: niclas <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/0645fa49 Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/0645fa49 Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/0645fa49 Branch: refs/heads/develop Commit: 0645fa4944da770db8e072ebef4fe43bc18c6aaa Parents: ae4f1ad Author: niclas <[email protected]> Authored: Tue May 23 22:20:45 2017 +0800 Committer: niclas <[email protected]> Committed: Tue May 23 22:20:45 2017 +0800 ---------------------------------------------------------------------- .../polygene/gradle/code/CodePlugin.groovy | 8 +- .../dependencies/PolygeneExtension.groovy | 12 -- .../distributions/DistributionsPlugin.groovy | 1 - .../gradle/structure/docker/DockerPlugin.groovy | 151 ++++++++++++++++ .../internals/InternalDockerPlugin.groovy | 151 ---------------- .../structure/internals/InternalPlugin.groovy | 33 ---- .../gradle-plugins/polygene-docker.properties | 18 ++ .../polygene-internal-docker.properties | 18 -- .../gradle-plugins/polygene-internal.properties | 18 -- .../layered/LayeredApplicationAssembler.java | 7 +- core/testsupport/build.gradle | 3 + .../polygene/test/docker/DelayChecker.java | 60 +++++++ .../apache/polygene/test/docker/DockerRule.java | 156 ++++++++++++++++ .../main/resources/docker/cassandra/Dockerfile | 16 ++ .../main/resources/docker/memcached/Dockerfile | 16 ++ .../src/main/resources/docker/mysql/Dockerfile | 16 ++ .../main/resources/docker/postgres/Dockerfile | 17 ++ .../resources/docker/postgres/init-test-db.sh | 29 +++ .../src/main/resources/docker/redis/Dockerfile | 16 ++ .../src/main/resources/docker/riak/Dockerfile | 16 ++ .../main/resources/docker/s3server/Dockerfile | 20 +++ extensions/cache-memcache/build.gradle | 2 +- .../cache/memcache/MemcacheCachePoolTest.java | 2 +- extensions/entitystore-cassandra/build.gradle | 2 +- .../cassandra/CassandraEntityStoreTest.java | 2 +- extensions/entitystore-jclouds/build.gradle | 2 +- .../entitystore/jclouds/JCloudsS3Test.java | 7 +- .../MongoDBEntityStoreConfiguration.java | 92 ++++++++++ .../mongodb/MongoEntityStoreConfiguration.java | 92 ---------- .../mongodb/MongoMapEntityStoreMixin.java | 4 +- .../assembly/MongoDBEntityStoreAssembler.java | 4 +- .../mongodb/EmbedMongoMapEntityStoreTest.java | 6 +- .../mongodb/MongoMapEntityStoreTest.java | 6 +- .../MongoMapEntityStoreWithCacheTest.java | 4 +- extensions/entitystore-redis/build.gradle | 2 +- .../redis/RedisMapEntityStoreTest.java | 2 +- .../redis/RedisMapEntityStoreWithCacheTest.java | 2 +- extensions/entitystore-riak/build.gradle | 2 +- .../riak/RiakMapEntityStoreTest.java | 2 +- .../riak/RiakMapEntityStoreWithCacheTest.java | 2 +- extensions/entitystore-sql/build.gradle | 2 +- .../entitystore/sql/MySQLEntityStoreTest.java | 2 +- .../sql/PostgreSQLEntityStoreTest.java | 2 +- extensions/indexing-sql/build.gradle | 2 +- .../postgresql/PostgreSQLComplexQueryTest.java | 2 +- .../postgresql/PostgreSQLDBIntegrityTest.java | 2 +- .../postgresql/PostgreSQLEntityFinderTest.java | 2 +- .../sql/postgresql/PostgreSQLQueryTest.java | 2 +- internals/testsupport-internal/build.gradle | 32 ---- .../src/main/docker/cassandra/Dockerfile | 16 -- .../src/main/docker/memcached/Dockerfile | 16 -- .../src/main/docker/mysql/Dockerfile | 16 -- .../src/main/docker/postgres/Dockerfile | 17 -- .../src/main/docker/postgres/init-test-db.sh | 29 --- .../src/main/docker/redis/Dockerfile | 16 -- .../src/main/docker/riak/Dockerfile | 16 -- .../src/main/docker/s3server/Dockerfile | 20 --- .../polygene/test/internal/DelayChecker.java | 60 ------- .../polygene/test/internal/DockerRule.java | 156 ---------------- .../apache/polygene/test/internal/package.html | 25 --- settings.gradle | 2 - tools/generator-polygene/app/index.js | 2 +- .../ConfigModule/bootstrap.tmpl | 2 + .../templates/ConfigurationLayer/bootstrap.tmpl | 2 +- .../RestAPIApplication/Launcher.java.tmpl | 2 +- .../app/templates/RestAPIApplication/app.js | 2 +- .../RestAPIApplication/bootstrap-test.tmpl | 176 ++++++++++++++++++- .../templates/RestAPIApplication/bootstrap.tmpl | 7 +- 68 files changed, 854 insertions(+), 795 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/CodePlugin.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/CodePlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/CodePlugin.groovy index eb605c9..1aa7b5a 100644 --- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/CodePlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/code/CodePlugin.groovy @@ -22,11 +22,7 @@ import org.apache.polygene.gradle.BasePlugin import org.apache.polygene.gradle.TaskGroups import org.apache.polygene.gradle.dependencies.DependenciesDeclarationExtension import org.apache.polygene.gradle.dependencies.DependenciesPlugin -import org.gradle.api.Action -import org.gradle.api.JavaVersion -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.Task +import org.gradle.api.* import org.gradle.api.plugins.JavaPluginConvention import org.gradle.api.plugins.osgi.OsgiManifest import org.gradle.api.tasks.bundling.AbstractArchiveTask @@ -131,7 +127,7 @@ class CodePlugin implements Plugin<Project> // Configuration task to honor disabling Docker when unavailable project.tasks.create( 'configureDockerForTest', { Task task -> // TODO Untangle docker connectivity check & test task configuration - task.dependsOn ':internals:testsupport-internal:checkDockerConnectivity' + task.dependsOn ':core:testsupport:checkDockerConnectivity' testTasks.each { it.dependsOn task } task.inputs.property 'polygeneTestSupportDockerDisabled', { project.findProperty( DOCKER_DISABLED_EXTRA_PROPERTY ) } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/PolygeneExtension.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/PolygeneExtension.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/PolygeneExtension.groovy index e08a4ab..435f278 100644 --- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/PolygeneExtension.groovy +++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/dependencies/PolygeneExtension.groovy @@ -26,13 +26,11 @@ class PolygeneExtension { private final Project project final Core core - final Internals internals PolygeneExtension( Project project ) { this.project = project this.core = new Core() - this.internals = new Internals() } class Core @@ -44,11 +42,6 @@ class PolygeneExtension Dependency testsupport = core( 'testsupport' ) } - class Internals - { - Dependency testsupport = internal( 'testsupport-internal' ) - } - private Dependency core( String name ) { return dependency( 'core', name ) @@ -69,11 +62,6 @@ class PolygeneExtension return dependency( 'tools', name ) } - Dependency internal( String name ) - { - return dependency( 'internals', name ) - } - private Dependency dependency( String group, String name ) { project.dependencies.project( path: ":$group:$name" ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy index 1dfd88b..3f2f017 100644 --- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/distributions/DistributionsPlugin.groovy @@ -135,7 +135,6 @@ class DistributionsPlugin implements Plugin<Project> spec.include 'distributions/**' spec.include 'reports/**' spec.include 'release/**' - spec.include 'internals/**' spec.include 'manual/**' spec.include 'samples/**' spec.include 'tests/**' http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/docker/DockerPlugin.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/docker/DockerPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/docker/DockerPlugin.groovy new file mode 100644 index 0000000..1934568 --- /dev/null +++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/docker/DockerPlugin.groovy @@ -0,0 +1,151 @@ +/* + * 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.gradle.structure.docker + +import com.bmuschko.gradle.docker.DockerExtension +import com.bmuschko.gradle.docker.DockerRemoteApiPlugin +import com.bmuschko.gradle.docker.tasks.DockerVersion +import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage +import groovy.transform.CompileStatic +import org.apache.polygene.gradle.BasePlugin +import org.apache.polygene.gradle.code.CodePlugin +import org.apache.polygene.gradle.code.PublishNaming +import org.apache.polygene.gradle.dependencies.DependenciesDeclarationExtension +import org.apache.polygene.gradle.dependencies.DependenciesPlugin +import org.apache.tools.ant.filters.ReplaceTokens +import org.gradle.api.Action +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.Task +import org.gradle.api.file.CopySpec +import org.gradle.api.logging.LogLevel + +@CompileStatic +class DockerPlugin implements Plugin<Project> +{ + static class TaskNames + { + static final String CHECK_DOCKER_CONNECTIVITY = 'checkDockerConnectivity' + } + + private final String dockerMachineName = System.getenv( 'DOCKER_MACHINE_NAME' ) + private final String dockerHost = System.getenv( 'DOCKER_HOST' ) + private final String dockerCertPath = System.getenv( 'DOCKER_CERT_PATH' ) + + @Override + void apply( Project project ) + { + project.plugins.apply BasePlugin + project.plugins.apply DependenciesPlugin + applyDockerPlugin( project ) + applyDockerSwitch( project ) + applyDockerBuildImage( project ) + } + + private void applyDockerPlugin( Project project ) + { + project.plugins.apply DockerRemoteApiPlugin + def dockerExtension = project.extensions.getByType DockerExtension + // TLS support + if( dockerCertPath ) + { + dockerExtension.certPath = new File( dockerCertPath ) + } + } + + private void applyDockerSwitch( Project project ) + { + project.tasks.create( TaskNames.CHECK_DOCKER_CONNECTIVITY, DockerVersion, { DockerVersion task -> + task.onError = { ex -> + // Disable Docker for this build + project.rootProject.extensions.extraProperties.set( CodePlugin.DOCKER_DISABLED_EXTRA_PROPERTY, true ) + if( project.hasProperty( 'skipDocker' ) ) + { + project.logger.lifecycle 'skipDocker property is set, all Docker tasks will be SKIPPED' + } + else if( project.logger.isEnabled( LogLevel.INFO ) ) + { + project.logger.info 'Unable to connect to Docker, all Docker tasks will be SKIPPED', ex + } + else + { + project.logger.lifecycle "Unable to connect to Docker, all Docker tasks will be SKIPPED\n ${ ( ( Exception ) ex ).message }" + } + } + task.onComplete = { + if( project.hasProperty( 'skipDocker' ) ) + { + // Disable Docker for this build + project.rootProject.extensions.extraProperties.set( CodePlugin.DOCKER_DISABLED_EXTRA_PROPERTY, true ) + project.logger.lifecycle 'skipDocker property is set, all Docker tasks will be SKIPPED' + } + } + } as Action<DockerVersion> ) + } + + private void applyDockerBuildImage( Project project ) + { + def classesTask = project.tasks.getByName 'classes' + def dockers = project.file('src/main/resources/docker') + def dependencies = project.rootProject.extensions.getByType( DependenciesDeclarationExtension ) + dockers.eachDir { File dockerDir -> + def dockerName = dockerDir.name + def buildDockerfileTaskName = "build${ dockerName.capitalize() }Dockerfile" + def buildImageTaskName = "build${ dockerName.capitalize() }DockerImage" + def tmpDir = project.file "${ project.buildDir }/tmp/docker/${ dockerName }" + tmpDir.mkdirs() + def buildDockerfileTask = project.tasks.create( buildDockerfileTaskName ) { Task task -> + task.description = "Build $dockerName Dockerfile" + task.inputs.property 'dockerImagesVersions', dependencies.dockerImagesVersions + task.inputs.dir dockerDir + task.outputs.dir tmpDir + // Filter Dockerfile for image versions from dependencies declaration + task.doFirst { + project.copy { CopySpec spec -> + spec.from( dockerDir ) { CopySpec unfiltered -> + unfiltered.exclude 'Dockerfile' + } + spec.from( dockerDir ) { CopySpec filtered -> + filtered.include 'Dockerfile' + filtered.filter ReplaceTokens, tokens: dependencies.dockerImagesVersions + } + spec.into tmpDir + } + } + } + def buildImageTask = project.tasks.create( buildImageTaskName, DockerBuildImage, { DockerBuildImage task -> + task.description = "Build $dockerName Docker image" + task.inputDir = tmpDir + task.dockerFile = new File( tmpDir, 'Dockerfile' ) + task.tag = "org.apache.polygene:${PublishNaming.publishedNameFor ":testsupport:docker-$dockerName"}" + } as Action<DockerBuildImage> ) + [ buildDockerfileTask, buildImageTask ].each { Task task -> + task.group = 'docker' + task.dependsOn TaskNames.CHECK_DOCKER_CONNECTIVITY + task.onlyIf { !project.rootProject.findProperty( CodePlugin.DOCKER_DISABLED_EXTRA_PROPERTY ) } + task.inputs.property 'dockerMachineName', dockerMachineName + task.inputs.property 'dockerHostEnv', dockerHost + task.inputs.property 'dockerCertPath', dockerCertPath + } + buildImageTask.dependsOn buildDockerfileTask + // Ensure that all Docker images are built alongside this project + // This is a bit of a stretch but works for now + classesTask.dependsOn buildImageTask + } + } +} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalDockerPlugin.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalDockerPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalDockerPlugin.groovy deleted file mode 100644 index d9dfa93..0000000 --- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalDockerPlugin.groovy +++ /dev/null @@ -1,151 +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.gradle.structure.internals - -import com.bmuschko.gradle.docker.DockerExtension -import com.bmuschko.gradle.docker.DockerRemoteApiPlugin -import com.bmuschko.gradle.docker.tasks.DockerVersion -import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage -import groovy.transform.CompileStatic -import org.apache.polygene.gradle.BasePlugin -import org.apache.polygene.gradle.code.CodePlugin -import org.apache.polygene.gradle.code.PublishNaming -import org.apache.polygene.gradle.dependencies.DependenciesDeclarationExtension -import org.apache.polygene.gradle.dependencies.DependenciesPlugin -import org.apache.tools.ant.filters.ReplaceTokens -import org.gradle.api.Action -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.Task -import org.gradle.api.file.CopySpec -import org.gradle.api.logging.LogLevel - -@CompileStatic -class InternalDockerPlugin implements Plugin<Project> -{ - static class TaskNames - { - static final String CHECK_DOCKER_CONNECTIVITY = 'checkDockerConnectivity' - } - - private final String dockerMachineName = System.getenv( 'DOCKER_MACHINE_NAME' ) - private final String dockerHost = System.getenv( 'DOCKER_HOST' ) - private final String dockerCertPath = System.getenv( 'DOCKER_CERT_PATH' ) - - @Override - void apply( Project project ) - { - project.plugins.apply BasePlugin - project.plugins.apply DependenciesPlugin - applyDockerPlugin( project ) - applyDockerSwitch( project ) - applyDockerBuildImage( project ) - } - - private void applyDockerPlugin( Project project ) - { - project.plugins.apply DockerRemoteApiPlugin - def dockerExtension = project.extensions.getByType DockerExtension - // TLS support - if( dockerCertPath ) - { - dockerExtension.certPath = new File( dockerCertPath ) - } - } - - private void applyDockerSwitch( Project project ) - { - project.tasks.create( TaskNames.CHECK_DOCKER_CONNECTIVITY, DockerVersion, { DockerVersion task -> - task.onError = { ex -> - // Disable Docker for this build - project.rootProject.extensions.extraProperties.set( CodePlugin.DOCKER_DISABLED_EXTRA_PROPERTY, true ) - if( project.hasProperty( 'skipDocker' ) ) - { - project.logger.lifecycle 'skipDocker property is set, all Docker tasks will be SKIPPED' - } - else if( project.logger.isEnabled( LogLevel.INFO ) ) - { - project.logger.info 'Unable to connect to Docker, all Docker tasks will be SKIPPED', ex - } - else - { - project.logger.lifecycle "Unable to connect to Docker, all Docker tasks will be SKIPPED\n ${ ( ( Exception ) ex ).message }" - } - } - task.onComplete = { - if( project.hasProperty( 'skipDocker' ) ) - { - // Disable Docker for this build - project.rootProject.extensions.extraProperties.set( CodePlugin.DOCKER_DISABLED_EXTRA_PROPERTY, true ) - project.logger.lifecycle 'skipDocker property is set, all Docker tasks will be SKIPPED' - } - } - } as Action<DockerVersion> ) - } - - private void applyDockerBuildImage( Project project ) - { - def classesTask = project.tasks.getByName 'classes' - def dockers = project.file( 'src/main/docker' ) - def dependencies = project.rootProject.extensions.getByType( DependenciesDeclarationExtension ) - dockers.eachDir { File dockerDir -> - def dockerName = dockerDir.name - def buildDockerfileTaskName = "build${ dockerName.capitalize() }Dockerfile" - def buildImageTaskName = "build${ dockerName.capitalize() }DockerImage" - def tmpDir = project.file "${ project.buildDir }/tmp/docker/${ dockerName }" - tmpDir.mkdirs() - def buildDockerfileTask = project.tasks.create( buildDockerfileTaskName ) { Task task -> - task.description = "Build $dockerName Dockerfile" - task.inputs.property 'dockerImagesVersions', dependencies.dockerImagesVersions - task.inputs.dir dockerDir - task.outputs.dir tmpDir - // Filter Dockerfile for image versions from dependencies declaration - task.doFirst { - project.copy { CopySpec spec -> - spec.from( dockerDir ) { CopySpec unfiltered -> - unfiltered.exclude 'Dockerfile' - } - spec.from( dockerDir ) { CopySpec filtered -> - filtered.include 'Dockerfile' - filtered.filter ReplaceTokens, tokens: dependencies.dockerImagesVersions - } - spec.into tmpDir - } - } - } - def buildImageTask = project.tasks.create( buildImageTaskName, DockerBuildImage, { DockerBuildImage task -> - task.description = "Build $dockerName Docker image" - task.inputDir = tmpDir - task.dockerFile = new File( tmpDir, 'Dockerfile' ) - task.tag = "org.apache.polygene:${ PublishNaming.publishedNameFor ":internals:docker-$dockerName" }" - } as Action<DockerBuildImage> ) - [ buildDockerfileTask, buildImageTask ].each { Task task -> - task.group = 'docker' - task.dependsOn TaskNames.CHECK_DOCKER_CONNECTIVITY - task.onlyIf { !project.rootProject.findProperty( CodePlugin.DOCKER_DISABLED_EXTRA_PROPERTY ) } - task.inputs.property 'dockerMachineName', dockerMachineName - task.inputs.property 'dockerHostEnv', dockerHost - task.inputs.property 'dockerCertPath', dockerCertPath - } - buildImageTask.dependsOn buildDockerfileTask - // Ensure that all Docker images are built alongside this project - // This is a bit of a stretch but works for now - classesTask.dependsOn buildImageTask - } - } -} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalPlugin.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalPlugin.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalPlugin.groovy deleted file mode 100644 index baa8842..0000000 --- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/internals/InternalPlugin.groovy +++ /dev/null @@ -1,33 +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.gradle.structure.internals - -import groovy.transform.CompileStatic -import org.apache.polygene.gradle.code.CodePlugin -import org.gradle.api.Plugin -import org.gradle.api.Project - -@CompileStatic -class InternalPlugin implements Plugin<Project> -{ - @Override - void apply( Project project ) - { - project.plugins.apply CodePlugin - } -} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-docker.properties ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-docker.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-docker.properties new file mode 100644 index 0000000..dfe3d41 --- /dev/null +++ b/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-docker.properties @@ -0,0 +1,18 @@ +# +# 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. +# +implementation-class=org.apache.polygene.gradle.structure.docker.DockerPlugin http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal-docker.properties ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal-docker.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal-docker.properties deleted file mode 100644 index 60290a5..0000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal-docker.properties +++ /dev/null @@ -1,18 +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. -# -implementation-class=org.apache.polygene.gradle.structure.internals.InternalDockerPlugin http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal.properties ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal.properties deleted file mode 100644 index 2749ce9..0000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/polygene-internal.properties +++ /dev/null @@ -1,18 +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. -# -implementation-class=org.apache.polygene.gradle.structure.internals.InternalPlugin http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/layered/LayeredApplicationAssembler.java ---------------------------------------------------------------------- diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/layered/LayeredApplicationAssembler.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/layered/LayeredApplicationAssembler.java index d5edba0..a4e795f 100644 --- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/layered/LayeredApplicationAssembler.java +++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/layered/LayeredApplicationAssembler.java @@ -134,11 +134,16 @@ public abstract class LayeredApplicationAssembler throws AssemblyException { assembly = applicationFactory.newApplicationAssembly(); + assembleApplication(); + return assembly; + } + + protected void assembleApplication() + { assembly.setName( name ); assembly.setVersion( version ); assembly.setMode( mode ); assembleLayers( assembly ); - return assembly; } protected LayerAssembly createLayer( Class<? extends LayerAssembler> layerAssemblerClass ) http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/build.gradle ---------------------------------------------------------------------- diff --git a/core/testsupport/build.gradle b/core/testsupport/build.gradle index adfa425..0a04b66 100644 --- a/core/testsupport/build.gradle +++ b/core/testsupport/build.gradle @@ -19,6 +19,7 @@ */ apply plugin: 'polygene-core' +apply plugin: 'polygene-docker' jar { manifest { name = "Apache Polygene⢠Core Test Support" } } @@ -27,5 +28,7 @@ dependencies { api libraries.junit api libraries.hamcrest + implementation libraries.docker_junit + testRuntimeOnly polygene.core.runtime } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/java/org/apache/polygene/test/docker/DelayChecker.java ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/docker/DelayChecker.java b/core/testsupport/src/main/java/org/apache/polygene/test/docker/DelayChecker.java new file mode 100644 index 0000000..36de1ea --- /dev/null +++ b/core/testsupport/src/main/java/org/apache/polygene/test/docker/DelayChecker.java @@ -0,0 +1,60 @@ +/* + * 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/0645fa49/core/testsupport/src/main/java/org/apache/polygene/test/docker/DockerRule.java ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/docker/DockerRule.java b/core/testsupport/src/main/java/org/apache/polygene/test/docker/DockerRule.java new file mode 100644 index 0000000..18fab0f --- /dev/null +++ b/core/testsupport/src/main/java/org/apache/polygene/test/docker/DockerRule.java @@ -0,0 +1,156 @@ +/* + * 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( 120 ) + .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/0645fa49/core/testsupport/src/main/resources/docker/cassandra/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/cassandra/Dockerfile b/core/testsupport/src/main/resources/docker/cassandra/Dockerfile new file mode 100644 index 0000000..11d22b4 --- /dev/null +++ b/core/testsupport/src/main/resources/docker/cassandra/Dockerfile @@ -0,0 +1,16 @@ +# 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. + +FROM @cassandra@ http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/memcached/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/memcached/Dockerfile b/core/testsupport/src/main/resources/docker/memcached/Dockerfile new file mode 100644 index 0000000..0b1a4b2 --- /dev/null +++ b/core/testsupport/src/main/resources/docker/memcached/Dockerfile @@ -0,0 +1,16 @@ +# 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. + +FROM @memcached@ http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/mysql/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/mysql/Dockerfile b/core/testsupport/src/main/resources/docker/mysql/Dockerfile new file mode 100644 index 0000000..967d45d --- /dev/null +++ b/core/testsupport/src/main/resources/docker/mysql/Dockerfile @@ -0,0 +1,16 @@ +# 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. + +FROM @mariadb@ \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/postgres/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/postgres/Dockerfile b/core/testsupport/src/main/resources/docker/postgres/Dockerfile new file mode 100644 index 0000000..d3dad53 --- /dev/null +++ b/core/testsupport/src/main/resources/docker/postgres/Dockerfile @@ -0,0 +1,17 @@ +# 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. + +FROM @postgres@ +COPY init-test-db.sh /docker-entrypoint-initdb.d/init-test-db.sh http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/postgres/init-test-db.sh ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/postgres/init-test-db.sh b/core/testsupport/src/main/resources/docker/postgres/init-test-db.sh new file mode 100755 index 0000000..347d78d --- /dev/null +++ b/core/testsupport/src/main/resources/docker/postgres/init-test-db.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# 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. + +set -e + +# Create test user and database +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE USER jdbc_test_login; + CREATE DATABASE jdbc_test_db; + GRANT ALL PRIVILEGES ON DATABASE jdbc_test_db TO jdbc_test_login; +EOSQL + +# Enable ltree extension on test database +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" -d jdbc_test_db <<-EOSQL + CREATE EXTENSION ltree; +EOSQL http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/redis/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/redis/Dockerfile b/core/testsupport/src/main/resources/docker/redis/Dockerfile new file mode 100644 index 0000000..d0e67fc --- /dev/null +++ b/core/testsupport/src/main/resources/docker/redis/Dockerfile @@ -0,0 +1,16 @@ +# 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. + +FROM @redis@ http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/riak/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/riak/Dockerfile b/core/testsupport/src/main/resources/docker/riak/Dockerfile new file mode 100644 index 0000000..776d7af --- /dev/null +++ b/core/testsupport/src/main/resources/docker/riak/Dockerfile @@ -0,0 +1,16 @@ +# 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. + +FROM @riak@ http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/core/testsupport/src/main/resources/docker/s3server/Dockerfile ---------------------------------------------------------------------- diff --git a/core/testsupport/src/main/resources/docker/s3server/Dockerfile b/core/testsupport/src/main/resources/docker/s3server/Dockerfile new file mode 100644 index 0000000..a4bff87 --- /dev/null +++ b/core/testsupport/src/main/resources/docker/s3server/Dockerfile @@ -0,0 +1,20 @@ +# 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. + +FROM @s3server@ + +# See https://github.com/scality/S3/blob/master/DOCKER.md +ENV SCALITY_ACCESS_KEY_ID dummyIdentifier +ENV SCALITY_SECRET_ACCESS_KEY dummyCredential http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/cache-memcache/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/cache-memcache/build.gradle b/extensions/cache-memcache/build.gradle index 8aa67a7..97742bb 100644 --- a/extensions/cache-memcache/build.gradle +++ b/extensions/cache-memcache/build.gradle @@ -31,7 +31,7 @@ dependencies { runtimeOnly polygene.core.runtime - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/cache-memcache/src/test/java/org/apache/polygene/cache/memcache/MemcacheCachePoolTest.java ---------------------------------------------------------------------- diff --git a/extensions/cache-memcache/src/test/java/org/apache/polygene/cache/memcache/MemcacheCachePoolTest.java b/extensions/cache-memcache/src/test/java/org/apache/polygene/cache/memcache/MemcacheCachePoolTest.java index 7843eb3..0b5b575 100644 --- a/extensions/cache-memcache/src/test/java/org/apache/polygene/cache/memcache/MemcacheCachePoolTest.java +++ b/extensions/cache-memcache/src/test/java/org/apache/polygene/cache/memcache/MemcacheCachePoolTest.java @@ -23,9 +23,9 @@ import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.cache.memcache.assembly.MemcacheAssembler; -import org.apache.polygene.test.internal.DockerRule; import org.apache.polygene.test.EntityTestAssembler; import org.apache.polygene.test.cache.AbstractCachePoolTest; +import org.apache.polygene.test.docker.DockerRule; import org.junit.ClassRule; /** http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-cassandra/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-cassandra/build.gradle b/extensions/entitystore-cassandra/build.gradle index 343b9f9..06dbc40 100644 --- a/extensions/entitystore-cassandra/build.gradle +++ b/extensions/entitystore-cassandra/build.gradle @@ -34,7 +34,7 @@ dependencies { runtimeOnly polygene.core.runtime - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java index ca5b946..3431081 100644 --- a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java +++ b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java @@ -24,9 +24,9 @@ import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.cassandra.assembly.CassandraEntityStoreAssembler; import org.apache.polygene.test.EntityTestAssembler; +import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; import org.apache.polygene.test.entity.CanRemoveAll; -import org.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; /** http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-jclouds/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-jclouds/build.gradle b/extensions/entitystore-jclouds/build.gradle index 8db7d5c..35120b2 100644 --- a/extensions/entitystore-jclouds/build.gradle +++ b/extensions/entitystore-jclouds/build.gradle @@ -36,7 +36,7 @@ dependencies { runtimeOnly polygene.core.runtime runtimeOnly libraries.jaxb_api - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testImplementation libraries.jclouds_filesystem testRuntimeOnly libraries.logback http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java index 720b072..ac64f7f 100644 --- a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java +++ b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3Test.java @@ -23,8 +23,8 @@ import org.apache.polygene.api.common.Visibility; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.entitystore.jclouds.assembly.JCloudsEntityStoreAssembler; import org.apache.polygene.test.EntityTestAssembler; +import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; -import org.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; public class JCloudsS3Test extends AbstractEntityStoreTest @@ -39,8 +39,9 @@ public class JCloudsS3Test extends AbstractEntityStoreTest ModuleAssembly config = module.layer().module( "config" ); new EntityTestAssembler().assemble( config ); new JCloudsEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); - JCloudsMapEntityStoreConfiguration defaults = config.forMixin( JCloudsMapEntityStoreConfiguration.class ) - .declareDefaults(); + JCloudsMapEntityStoreConfiguration defaults = + config.forMixin( JCloudsMapEntityStoreConfiguration.class ).declareDefaults(); + String host = DOCKER.getDockerHost(); int port = DOCKER.getExposedContainerPort( "8000/tcp" ); defaults.provider().set( "s3" ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreConfiguration.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreConfiguration.java b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreConfiguration.java new file mode 100644 index 0000000..2e8146e --- /dev/null +++ b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreConfiguration.java @@ -0,0 +1,92 @@ +/* + * 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.entitystore.mongodb; + +import java.util.List; +import org.apache.polygene.api.common.Optional; +import org.apache.polygene.api.common.UseDefaults; +import org.apache.polygene.api.property.Property; + +// START SNIPPET: config +public interface MongoDBEntityStoreConfiguration +{ + + @Optional + Property<String> hostname(); + + @Optional + Property<Integer> port(); + + @UseDefaults + Property<List<String>> nodes(); + + @UseDefaults + Property<String> username(); + + @UseDefaults + Property<String> password(); + + @Optional + Property<String> database(); + + @Optional + Property<String> collection(); + + @UseDefaults + Property<WriteConcern> writeConcern(); + + enum WriteConcern + { + /** + * Write operations that use this write concern will wait for acknowledgement, + * using the default write concern configured on the server. + * This is the default value. + */ + ACKNOWLEDGED, + /** + * Write operations that use this write concern will wait for acknowledgement from a single member. + */ + W1, + /** + * Write operations that use this write concern will wait for acknowledgement from two members. + */ + W2, + /** + * Write operations that use this write concern will wait for acknowledgement from three members. + */ + W3, + /** + * Write operations that use this write concern will return as soon as the message is written to the socket. + * Exceptions are raised for network issues, but not server errors. + */ + UNACKNOWLEDGED, + /** + * Write operations wait for the server to group commit to the journal file on disk. + */ + JOURNALED, + /** + * Exceptions are raised for network issues, and server errors; + * waits on a majority of servers for the write operation. + */ + MAJORITY + + } +} +// END SNIPPET: config \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoEntityStoreConfiguration.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoEntityStoreConfiguration.java b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoEntityStoreConfiguration.java deleted file mode 100644 index 75c95ac..0000000 --- a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoEntityStoreConfiguration.java +++ /dev/null @@ -1,92 +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.entitystore.mongodb; - -import java.util.List; -import org.apache.polygene.api.common.Optional; -import org.apache.polygene.api.common.UseDefaults; -import org.apache.polygene.api.property.Property; - -// START SNIPPET: config -public interface MongoEntityStoreConfiguration -{ - - @Optional - Property<String> hostname(); - - @Optional - Property<Integer> port(); - - @UseDefaults - Property<List<String>> nodes(); - - @UseDefaults - Property<String> username(); - - @UseDefaults - Property<String> password(); - - @Optional - Property<String> database(); - - @Optional - Property<String> collection(); - - @UseDefaults - Property<WriteConcern> writeConcern(); - - enum WriteConcern - { - /** - * Write operations that use this write concern will wait for acknowledgement, - * using the default write concern configured on the server. - * This is the default value. - */ - ACKNOWLEDGED, - /** - * Write operations that use this write concern will wait for acknowledgement from a single member. - */ - W1, - /** - * Write operations that use this write concern will wait for acknowledgement from two members. - */ - W2, - /** - * Write operations that use this write concern will wait for acknowledgement from three members. - */ - W3, - /** - * Write operations that use this write concern will return as soon as the message is written to the socket. - * Exceptions are raised for network issues, but not server errors. - */ - UNACKNOWLEDGED, - /** - * Write operations wait for the server to group commit to the journal file on disk. - */ - JOURNALED, - /** - * Exceptions are raised for network issues, and server errors; - * waits on a majority of servers for the write operation. - */ - MAJORITY - - } -} -// END SNIPPET: config \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreMixin.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreMixin.java b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreMixin.java index 3766b82..e4433c1 100644 --- a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreMixin.java +++ b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreMixin.java @@ -66,7 +66,7 @@ public class MongoMapEntityStoreMixin public static final String IDENTITY_COLUMN = "_id"; public static final String STATE_COLUMN = "state"; @This - private Configuration<MongoEntityStoreConfiguration> configuration; + private Configuration<MongoDBEntityStoreConfiguration> configuration; private List<ServerAddress> serverAddresses; private String databaseName; private String collectionName; @@ -107,7 +107,7 @@ public class MongoMapEntityStoreMixin throws UnknownHostException { configuration.refresh(); - MongoEntityStoreConfiguration config = configuration.get(); + MongoDBEntityStoreConfiguration config = configuration.get(); // Combine hostname, port and nodes configuration properties // If no configuration, use 127.0.0.1:27017 http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java index a270305..acc5360 100644 --- a/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java +++ b/extensions/entitystore-mongodb/src/main/java/org/apache/polygene/entitystore/mongodb/assembly/MongoDBEntityStoreAssembler.java @@ -23,7 +23,7 @@ import org.apache.polygene.bootstrap.Assemblers; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; import org.apache.polygene.bootstrap.ServiceDeclaration; -import org.apache.polygene.entitystore.mongodb.MongoEntityStoreConfiguration; +import org.apache.polygene.entitystore.mongodb.MongoDBEntityStoreConfiguration; import org.apache.polygene.entitystore.mongodb.MongoMapEntityStoreService; public class MongoDBEntityStoreAssembler @@ -40,7 +40,7 @@ public class MongoDBEntityStoreAssembler } if( hasConfig() ) { - configModule().entities( MongoEntityStoreConfiguration.class ).visibleIn( configVisibility() ); + configModule().entities( MongoDBEntityStoreConfiguration.class ).visibleIn( configVisibility() ); } } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoMapEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoMapEntityStoreTest.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoMapEntityStoreTest.java index 5a65389..b8e8842 100644 --- a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoMapEntityStoreTest.java +++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoMapEntityStoreTest.java @@ -78,9 +78,9 @@ public class EmbedMongoMapEntityStoreTest extends AbstractEntityStoreTest new MongoDBEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); - MongoEntityStoreConfiguration mongoConfig = config.forMixin( MongoEntityStoreConfiguration.class ) - .declareDefaults(); - mongoConfig.writeConcern().set( MongoEntityStoreConfiguration.WriteConcern.MAJORITY ); + MongoDBEntityStoreConfiguration mongoConfig = config.forMixin( MongoDBEntityStoreConfiguration.class ) + .declareDefaults(); + mongoConfig.writeConcern().set( MongoDBEntityStoreConfiguration.WriteConcern.MAJORITY ); mongoConfig.database().set( "polygene-test" ); mongoConfig.collection().set( testName.getMethodName() ); mongoConfig.nodes().set( Collections.singletonList( "localhost:" + port ) ); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreTest.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreTest.java index 9c48fe5..2a902ef 100644 --- a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreTest.java +++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreTest.java @@ -37,7 +37,7 @@ import static org.apache.polygene.test.util.Assume.assumeConnectivity; public class MongoMapEntityStoreTest extends AbstractEntityStoreTest { @BeforeClass - public static void beforeRedisMapEntityStoreTests() + public static void beforeMongoMapEntityStoreTests() { assumeConnectivity( "localhost", 27017 ); } @@ -57,8 +57,8 @@ public class MongoMapEntityStoreTest extends AbstractEntityStoreTest new MongoDBEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); // END SNIPPET: assembly - MongoEntityStoreConfiguration mongoConfig = config.forMixin( MongoEntityStoreConfiguration.class ).declareDefaults(); - mongoConfig.writeConcern().set( MongoEntityStoreConfiguration.WriteConcern.MAJORITY ); + MongoDBEntityStoreConfiguration mongoConfig = config.forMixin( MongoDBEntityStoreConfiguration.class ).declareDefaults(); + mongoConfig.writeConcern().set( MongoDBEntityStoreConfiguration.WriteConcern.MAJORITY ); mongoConfig.database().set( "polygene:test" ); mongoConfig.collection().set( "polygene:test:entities" ); // START SNIPPET: assembly http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreWithCacheTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreWithCacheTest.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreWithCacheTest.java index cad95ea..fcd02f0 100644 --- a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreWithCacheTest.java +++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoMapEntityStoreWithCacheTest.java @@ -54,8 +54,8 @@ public class MongoMapEntityStoreWithCacheTest new MongoDBEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); - MongoEntityStoreConfiguration mongoConfig = config.forMixin( MongoEntityStoreConfiguration.class ).declareDefaults(); - mongoConfig.writeConcern().set( MongoEntityStoreConfiguration.WriteConcern.MAJORITY ); + MongoDBEntityStoreConfiguration mongoConfig = config.forMixin( MongoDBEntityStoreConfiguration.class ).declareDefaults(); + mongoConfig.writeConcern().set( MongoDBEntityStoreConfiguration.WriteConcern.MAJORITY ); mongoConfig.database().set( "polygene:test" ); mongoConfig.collection().set( "polygene:test:entities" ); } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-redis/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-redis/build.gradle b/extensions/entitystore-redis/build.gradle index da29e7d..6526ede 100644 --- a/extensions/entitystore-redis/build.gradle +++ b/extensions/entitystore-redis/build.gradle @@ -32,7 +32,7 @@ dependencies { runtimeOnly polygene.core.runtime - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testRuntimeOnly libraries.logback } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreTest.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreTest.java index e654afc..345e73a 100644 --- a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreTest.java +++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreTest.java @@ -24,8 +24,8 @@ 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.docker.DockerRule; import org.apache.polygene.test.entity.AbstractEntityStoreTest; -import org.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreWithCacheTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreWithCacheTest.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreWithCacheTest.java index 1dba76a..c34ff9f 100644 --- a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreWithCacheTest.java +++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisMapEntityStoreWithCacheTest.java @@ -25,7 +25,7 @@ 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.internal.DockerRule; +import org.apache.polygene.test.docker.DockerRule; import org.junit.ClassRule; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-riak/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/build.gradle b/extensions/entitystore-riak/build.gradle index 98200ac..287c4da 100644 --- a/extensions/entitystore-riak/build.gradle +++ b/extensions/entitystore-riak/build.gradle @@ -33,7 +33,7 @@ dependencies { runtimeOnly polygene.core.runtime - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testImplementation libraries.awaitility testRuntimeOnly libraries.logback http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreTest.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreTest.java index c43d846..d359adc 100644 --- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreTest.java +++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreTest.java @@ -22,8 +22,8 @@ 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.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; public class RiakMapEntityStoreTest extends AbstractEntityStoreTest http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreWithCacheTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreWithCacheTest.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreWithCacheTest.java index ac4f3ec..87476e3 100644 --- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreWithCacheTest.java +++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakMapEntityStoreWithCacheTest.java @@ -26,7 +26,7 @@ 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.internal.DockerRule; +import org.apache.polygene.test.docker.DockerRule; import org.junit.ClassRule; public class RiakMapEntityStoreWithCacheTest extends AbstractEntityStoreWithCacheTest http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/entitystore-sql/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/entitystore-sql/build.gradle b/extensions/entitystore-sql/build.gradle index 223e85b..694c478 100644 --- a/extensions/entitystore-sql/build.gradle +++ b/extensions/entitystore-sql/build.gradle @@ -33,7 +33,7 @@ dependencies { runtimeOnly polygene.core.runtime - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testImplementation polygene.library( 'sql-dbcp' ) testImplementation libraries.docker_junit http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/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 c82bd61..ae1dbe3 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 @@ -33,8 +33,8 @@ 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.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; import static org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/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 1da7b58..4bd7ab9 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 @@ -33,8 +33,8 @@ import org.apache.polygene.library.sql.common.SQLConfiguration; 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.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; import static org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/extensions/indexing-sql/build.gradle ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/build.gradle b/extensions/indexing-sql/build.gradle index 5d6f71e..faac8e8 100644 --- a/extensions/indexing-sql/build.gradle +++ b/extensions/indexing-sql/build.gradle @@ -33,7 +33,7 @@ dependencies { runtimeOnly polygene.core.runtime - testImplementation polygene.internals.testsupport + testImplementation polygene.core.testsupport testImplementation polygene.library( 'sql-dbcp' ) testRuntimeOnly libraries.logback http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/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 da9e217..d9ad732 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 @@ -21,7 +21,7 @@ package org.apache.polygene.index.sql.postgresql; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; -import org.apache.polygene.test.internal.DockerRule; +import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.indexing.AbstractComplexQueryTest; import org.junit.ClassRule; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/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 58869a6..887d2d1 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 @@ -36,7 +36,7 @@ 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.internal.DockerRule; +import org.apache.polygene.test.docker.DockerRule; import org.junit.Assert; import org.junit.ClassRule; import org.junit.Test; http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/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 e909827..ca96386 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 @@ -21,8 +21,8 @@ package org.apache.polygene.index.sql.postgresql; 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.apache.polygene.test.internal.DockerRule; import org.junit.ClassRule; public class PostgreSQLEntityFinderTest http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0645fa49/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 2d4dde5..d919be4 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 @@ -21,7 +21,7 @@ package org.apache.polygene.index.sql.postgresql; import org.apache.polygene.bootstrap.AssemblyException; import org.apache.polygene.bootstrap.ModuleAssembly; -import org.apache.polygene.test.internal.DockerRule; +import org.apache.polygene.test.docker.DockerRule; import org.apache.polygene.test.indexing.AbstractQueryTest; import org.junit.ClassRule; import org.junit.Ignore;
