You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by so...@apache.org on 2015/10/06 22:41:39 UTC
zest-java git commit: added a few test for indexers using a
multi-module architecture
Repository: zest-java
Updated Branches:
refs/heads/develop 30a00d33f -> 9e820943c
added a few test for indexers using a multi-module architecture
Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/9e820943
Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/9e820943
Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/9e820943
Branch: refs/heads/develop
Commit: 9e820943c7e9c44437a8d91113a0540c21f8d1f7
Parents: 30a00d3
Author: Kent Sølvsten <so...@apache.org>
Authored: Tue Oct 6 22:41:12 2015 +0200
Committer: Kent Sølvsten <so...@apache.org>
Committed: Tue Oct 6 22:41:12 2015 +0200
----------------------------------------------------------------------
.../test/indexing/AbstractAnyQueryTest.java | 19 +++++--
.../test/indexing/AbstractNamedQueryTest.java | 21 +++-----
.../ElasticSearchQueryMultimoduleTest.java | 57 ++++++++++++++++++++
.../elasticsearch/ElasticSearchQueryTest.java | 2 +-
.../index/rdf/RdfNamedQueryMultimoduleTest.java | 34 ++++++++++++
.../zest/index/rdf/RdfNamedQueryTest.java | 13 ++---
.../zest/index/rdf/RdfQueryMultimoduleTest.java | 49 +++++++++++++++++
.../org/apache/zest/index/rdf/RdfQueryTest.java | 20 ++-----
8 files changed, 172 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractAnyQueryTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractAnyQueryTest.java b/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractAnyQueryTest.java
old mode 100644
new mode 100755
index 03ff7cb..9c34fb8
--- a/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractAnyQueryTest.java
+++ b/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractAnyQueryTest.java
@@ -17,6 +17,7 @@
*/
package org.apache.zest.test.indexing;
+import org.apache.zest.api.common.Visibility;
import org.apache.zest.api.unitofwork.UnitOfWork;
import org.apache.zest.bootstrap.AssemblyException;
import org.apache.zest.bootstrap.ModuleAssembly;
@@ -48,21 +49,30 @@ public class AbstractAnyQueryTest
public void assemble( ModuleAssembly module )
throws AssemblyException
{
+ assembleEntities( module, Visibility.module );
+ assembleValues( module, Visibility.module );
+ new EntityTestAssembler().assemble( module );
+ }
+
+ protected void assembleEntities( ModuleAssembly module, Visibility visibility )
+ {
module.entities( MaleEntity.class,
FemaleEntity.class,
CityEntity.class,
DomainEntity.class,
AccountEntity.class,
- CatEntity.class );
+ CatEntity.class ). visibleIn( visibility );
+ }
+
+ protected void assembleValues( ModuleAssembly module, Visibility visibility )
+ {
module.values( URL.class,
Address.class,
Protocol.class,
Host.class,
Port.class,
File.class,
- QueryParam.class );
-
- new EntityTestAssembler().assemble( module );
+ QueryParam.class ).visibleIn( visibility );
}
@Override
@@ -75,6 +85,7 @@ public class AbstractAnyQueryTest
this.unitOfWork = this.module.newUnitOfWork();
}
+
@Override
public void tearDown()
throws Exception
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractNamedQueryTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractNamedQueryTest.java b/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractNamedQueryTest.java
old mode 100644
new mode 100755
index 1f52478..cb82864
--- a/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractNamedQueryTest.java
+++ b/core/testsupport/src/main/java/org/apache/zest/test/indexing/AbstractNamedQueryTest.java
@@ -21,28 +21,26 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Predicate;
-import org.junit.Test;
import org.apache.zest.api.composite.Composite;
import org.apache.zest.api.query.Query;
import org.apache.zest.api.query.grammar.OrderBy;
-import org.apache.zest.bootstrap.AssemblyException;
-import org.apache.zest.bootstrap.ModuleAssembly;
import org.apache.zest.spi.query.EntityFinderException;
import org.apache.zest.spi.query.IndexExporter;
-import org.apache.zest.test.EntityTestAssembler;
import org.apache.zest.test.indexing.model.Domain;
import org.apache.zest.test.indexing.model.Female;
import org.apache.zest.test.indexing.model.Male;
import org.apache.zest.test.indexing.model.Nameable;
import org.apache.zest.test.indexing.model.Person;
+import org.junit.Before;
+import org.junit.Test;
-import static org.hamcrest.core.Is.is;
-import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
import static org.apache.zest.api.query.QueryExpressions.orderBy;
import static org.apache.zest.api.query.QueryExpressions.templateFor;
import static org.apache.zest.test.indexing.NameableAssert.verifyOrderedResults;
import static org.apache.zest.test.indexing.NameableAssert.verifyUnorderedResults;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
/**
* Abstract satisfiedBy with tests for named queries against Index/Query engines.
@@ -51,14 +49,11 @@ public abstract class AbstractNamedQueryTest
extends AbstractAnyQueryTest
{
- private final Map<String, Predicate<Composite>> queries = new HashMap<>();
+ protected final Map<String, Predicate<Composite>> queries = new HashMap<>();
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
+ @Before
+ public void assembleQueryStrings()
{
- super.assemble( module );
- new EntityTestAssembler().assemble( module );
String[] query = queryStrings();
for( int i = 0; i < query.length; i++ )
{
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryMultimoduleTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryMultimoduleTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryMultimoduleTest.java
new file mode 100755
index 0000000..9f41a60
--- /dev/null
+++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryMultimoduleTest.java
@@ -0,0 +1,57 @@
+package org.apache.zest.index.elasticsearch;
+
+import java.io.File;
+import org.apache.zest.api.common.Visibility;
+import org.apache.zest.bootstrap.AssemblyException;
+import org.apache.zest.bootstrap.LayerAssembly;
+import org.apache.zest.bootstrap.ModuleAssembly;
+import org.apache.zest.index.elasticsearch.assembly.ESFilesystemIndexQueryAssembler;
+import org.apache.zest.library.fileconfig.FileConfigurationOverride;
+import org.apache.zest.library.fileconfig.FileConfigurationService;
+import org.apache.zest.test.EntityTestAssembler;
+import org.apache.zest.test.util.DelTreeAfter;
+import org.junit.Rule;
+
+/**
+ * User: ksr
+ * Date: 28-09-2015
+ * Time: 23:40
+ */
+public class ElasticSearchQueryMultimoduleTest extends ElasticSearchQueryTest
+{
+ @Rule
+ public final DelTreeAfter delTreeAfter = new DelTreeAfter( DATA_DIR );
+
+ @Override
+ public void assemble( ModuleAssembly module )
+ throws AssemblyException
+ {
+ assembleEntities( module, Visibility.module );
+ assembleValues( module, Visibility.layer );
+
+ module = module.layer().module( "module2" );
+ new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( module );
+
+ // Config module
+ LayerAssembly configLayer = module.layer().application().layer( "config" );
+ module.layer().uses( configLayer );
+ ModuleAssembly config = configLayer.module( "config" );
+ new EntityTestAssembler().assemble( config );
+
+ // Index/Query
+ new ESFilesystemIndexQueryAssembler().
+ withConfig( config, Visibility.application ).visibleIn( Visibility.layer ).
+ assemble( module );
+ ElasticSearchConfiguration esConfig = config.forMixin( ElasticSearchConfiguration.class ).declareDefaults();
+ esConfig.indexNonAggregatedAssociations().set( Boolean.TRUE );
+
+ // FileConfig
+ FileConfigurationOverride override = new FileConfigurationOverride().
+ withData( new File( DATA_DIR, "zest-data" ) ).
+ withLog( new File( DATA_DIR, "zest-logs" ) ).
+ withTemporary( new File( DATA_DIR, "zest-temp" ) );
+ module.services( FileConfigurationService.class ).
+ setMetaInfo( override );
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryTest.java b/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryTest.java
old mode 100644
new mode 100755
index 4c1e79f..a55229b
--- a/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryTest.java
+++ b/extensions/indexing-elasticsearch/src/test/java/org/apache/zest/index/elasticsearch/ElasticSearchQueryTest.java
@@ -40,7 +40,7 @@ public class ElasticSearchQueryTest
extends AbstractQueryTest
{
- private static final File DATA_DIR = new File( "build/tmp/es-query-test" );
+ protected static final File DATA_DIR = new File( "build/tmp/es-query-test" );
@Rule
public final DelTreeAfter delTreeAfter = new DelTreeAfter( DATA_DIR );
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryMultimoduleTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryMultimoduleTest.java b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryMultimoduleTest.java
new file mode 100755
index 0000000..b16eed9
--- /dev/null
+++ b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryMultimoduleTest.java
@@ -0,0 +1,34 @@
+package org.apache.zest.index.rdf;
+
+import org.apache.zest.api.common.Visibility;
+import org.apache.zest.bootstrap.AssemblyException;
+import org.apache.zest.bootstrap.LayerAssembly;
+import org.apache.zest.bootstrap.ModuleAssembly;
+import org.apache.zest.index.rdf.assembly.RdfMemoryStoreAssembler;
+import org.apache.zest.test.EntityTestAssembler;
+
+/**
+ * User: ksr
+ * Date: 28-09-2015
+ * Time: 10:28
+ */
+public class RdfNamedQueryMultimoduleTest
+ extends RdfNamedQueryTest
+{
+ @Override
+ public void assemble( ModuleAssembly module )
+ throws AssemblyException
+ {
+ LayerAssembly layer = module.layer();
+ assembleEntities( module, Visibility.module );
+ assembleValues( module, Visibility.module );
+
+ ModuleAssembly storeModule = layer.module( "store" );
+ new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( storeModule );
+ assembleValues( storeModule, Visibility.module );
+
+ ModuleAssembly indexModule = layer.module( "index" );
+ new RdfMemoryStoreAssembler( Visibility.layer, Visibility.module ).assemble( indexModule );
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryTest.java b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryTest.java
old mode 100644
new mode 100755
index 526f8b2..eb54caa
--- a/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryTest.java
+++ b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfNamedQueryTest.java
@@ -18,17 +18,13 @@
package org.apache.zest.index.rdf;
import java.util.function.Predicate;
+import org.apache.zest.api.common.Visibility;
import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.value.ValueSerialization;
import org.apache.zest.bootstrap.AssemblyException;
import org.apache.zest.bootstrap.ModuleAssembly;
-import org.apache.zest.index.rdf.query.RdfQueryParserFactory;
+import org.apache.zest.index.rdf.assembly.RdfMemoryStoreAssembler;
import org.apache.zest.index.rdf.query.SesameExpressions;
-import org.apache.zest.library.rdf.entity.EntityStateSerializer;
-import org.apache.zest.library.rdf.entity.EntityTypeSerializer;
-import org.apache.zest.library.rdf.repository.MemoryRepositoryService;
import org.apache.zest.test.indexing.AbstractNamedQueryTest;
-import org.apache.zest.valueserialization.orgjson.OrgJsonValueSerializationService;
public class RdfNamedQueryTest extends AbstractNamedQueryTest
{
@@ -49,10 +45,7 @@ public class RdfNamedQueryTest extends AbstractNamedQueryTest
throws AssemblyException
{
super.assemble( module );
- module.services( MemoryRepositoryService.class, RdfQueryParserFactory.class ).instantiateOnStartup();
- module.services( OrgJsonValueSerializationService.class ).taggedWith( ValueSerialization.Formats.JSON );
- module.objects( EntityStateSerializer.class, EntityTypeSerializer.class );
- module.services( RdfIndexingEngineService.class );
+ new RdfMemoryStoreAssembler( Visibility.module, Visibility.module ).assemble( module );
}
private static String[] queryStrings =
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryMultimoduleTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryMultimoduleTest.java b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryMultimoduleTest.java
new file mode 100755
index 0000000..d37c770
--- /dev/null
+++ b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryMultimoduleTest.java
@@ -0,0 +1,49 @@
+package org.apache.zest.index.rdf;
+
+import java.io.File;
+import org.apache.zest.api.common.Visibility;
+import org.apache.zest.bootstrap.AssemblyException;
+import org.apache.zest.bootstrap.LayerAssembly;
+import org.apache.zest.bootstrap.ModuleAssembly;
+import org.apache.zest.index.rdf.assembly.RdfNativeSesameStoreAssembler;
+import org.apache.zest.library.rdf.repository.NativeConfiguration;
+import org.apache.zest.test.EntityTestAssembler;
+import org.apache.zest.test.util.DelTreeAfter;
+import org.junit.Rule;
+
+/**
+ * User: ksr
+ * Date: 27-09-2015
+ * Time: 23:32
+ */
+public class RdfQueryMultimoduleTest
+ extends RdfQueryTest
+{
+ private static final File DATA_DIR = new File( "build/tmp/rdf-query-test" );
+ @Rule
+ public final DelTreeAfter delTreeAfter = new DelTreeAfter( DATA_DIR );
+
+ @Override
+ public void assemble( ModuleAssembly module )
+ throws AssemblyException
+ {
+ LayerAssembly layer = module.layer();
+ assembleValues( module, Visibility.module );
+ assembleEntities( module, Visibility.module );
+
+ ModuleAssembly storeModule = layer.module( "store" );
+ new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( storeModule );
+ assembleValues( storeModule, Visibility.module );
+
+ ModuleAssembly indexModule = layer.module( "index" );
+ new RdfNativeSesameStoreAssembler( Visibility.layer, Visibility.module ).assemble( indexModule );
+
+ LayerAssembly configLayer = module.layer().application().layer( "config" );
+ module.layer().uses( configLayer );
+ ModuleAssembly config = configLayer.module( "config" );
+ config.entities( NativeConfiguration.class ).visibleIn( Visibility.application );
+ config.forMixin( NativeConfiguration.class ).declareDefaults().dataDirectory().set( DATA_DIR.getAbsolutePath() );
+ new EntityTestAssembler().assemble( config );
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/9e820943/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryTest.java b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryTest.java
old mode 100644
new mode 100755
index 78d1a75..867a3a4
--- a/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryTest.java
+++ b/extensions/indexing-rdf/src/test/java/org/apache/zest/index/rdf/RdfQueryTest.java
@@ -19,24 +19,18 @@
package org.apache.zest.index.rdf;
import java.io.File;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
import org.apache.zest.api.common.Visibility;
-import org.apache.zest.api.value.ValueSerialization;
import org.apache.zest.bootstrap.AssemblyException;
import org.apache.zest.bootstrap.ModuleAssembly;
-import org.apache.zest.index.rdf.query.RdfQueryParserFactory;
-import org.apache.zest.library.fileconfig.FileConfigurationService;
-import org.apache.zest.library.rdf.entity.EntityStateSerializer;
-import org.apache.zest.library.rdf.entity.EntityTypeSerializer;
+import org.apache.zest.index.rdf.assembly.RdfNativeSesameStoreAssembler;
import org.apache.zest.library.rdf.repository.NativeConfiguration;
-import org.apache.zest.library.rdf.repository.NativeRepositoryService;
import org.apache.zest.spi.query.EntityFinderException;
import org.apache.zest.test.EntityTestAssembler;
import org.apache.zest.test.indexing.AbstractQueryTest;
import org.apache.zest.test.util.DelTreeAfter;
-import org.apache.zest.valueserialization.orgjson.OrgJsonValueSerializationService;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
public class RdfQueryTest
extends AbstractQueryTest
@@ -51,11 +45,7 @@ public class RdfQueryTest
throws AssemblyException
{
super.assemble( module );
- module.services( FileConfigurationService.class );
- module.services( NativeRepositoryService.class, RdfQueryParserFactory.class ).instantiateOnStartup();
- module.services( RdfIndexingEngineService.class ).instantiateOnStartup();
- module.services( OrgJsonValueSerializationService.class ).taggedWith( ValueSerialization.Formats.JSON );
- module.objects( EntityStateSerializer.class, EntityTypeSerializer.class );
+ new RdfNativeSesameStoreAssembler( Visibility.module, Visibility.module ).assemble( module );
ModuleAssembly config = module.layer().module( "Config" );
config.entities( NativeConfiguration.class ).visibleIn( Visibility.layer );