From 95c38cdafb374713be8a2035950de531cc460f6c Mon Sep 17 00:00:00 2001 From: Davide D'Alto Date: Wed, 24 Jan 2018 13:09:50 +0000 Subject: [PATCH] OGM-1353 Create method to enable counters for infinispan in TestHelper Some tests require generated id or sequences, this way we can keep track which tests in core use it and the remove it once OGM-1376 (Counter for local caches) is resolved. --- .../backendtck/batchfetching/BatchFetchingTest.java | 2 ++ .../hsearch/HibernateSearchAtopOgmTest.java | 7 +++++++ .../hsearch/SearchOnStandaloneOGMTest.java | 7 +++++++ .../ogm/backendtck/id/AutoIdGeneratorTest.java | 7 +++++++ .../id/AutoIdGeneratorWithSessionTest.java | 8 ++++++++ .../ogm/backendtck/id/CompositeIdTest.java | 8 +++++++- .../ogm/backendtck/id/SequenceIdGeneratorTest.java | 7 +++++++ .../id/SequenceNextValueGenerationTest.java | 10 +++++++--- .../ogm/backendtck/id/TableIdGeneratorTest.java | 8 +++++++- .../ogm/backendtck/id/TestNextValueGeneration.java | 7 +++++++ .../massindex/AssociationMassIndexerTest.java | 4 ++-- .../massindex/SimpleEntityMassIndexingTest.java | 4 ++-- .../java/org/hibernate/ogm/utils/TestHelper.java | 13 +++++++++++++ .../test/cachemapping/CacheMappingTestBase.java | 6 ++++++ .../cachemapping/CachePerKindCacheMappingTest.java | 1 + ...ePerKindConfiguredViaOptionCacheMappingTest.java | 1 + 16 files changed, 91 insertions(+), 9 deletions(-) diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/batchfetching/BatchFetchingTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/batchfetching/BatchFetchingTest.java index a0d4e18495..c1ccf277bd 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/batchfetching/BatchFetchingTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/batchfetching/BatchFetchingTest.java @@ -24,6 +24,7 @@ import org.hibernate.ogm.utils.InvokedOperationsLoggingDialect; import org.hibernate.ogm.utils.OgmTestCase; import org.hibernate.ogm.utils.TestForIssue; +import org.hibernate.ogm.utils.TestHelper; import org.hibernate.stat.Statistics; import org.junit.Test; @@ -224,6 +225,7 @@ private boolean isMultigetDialect() { @Override protected void configure(Map cfg) { cfg.put( OgmProperties.GRID_DIALECT, InvokedOperationsLoggingDialect.class ); + TestHelper.enableCountersForInfinispan( cfg ); } private InvokedOperationsLoggingDialect getOperationsLogger() { diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/HibernateSearchAtopOgmTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/HibernateSearchAtopOgmTest.java index 6e0d52f148..37da148bd0 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/HibernateSearchAtopOgmTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/HibernateSearchAtopOgmTest.java @@ -16,6 +16,8 @@ import org.hibernate.Session; import org.hibernate.ogm.utils.GridDialectType; import org.hibernate.ogm.utils.SkipByGridDialect; +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.hibernate.ogm.utils.jpa.OgmJpaTestCase; import org.hibernate.search.FullTextSession; import org.hibernate.search.jpa.FullTextEntityManager; @@ -87,6 +89,11 @@ public void testHibernateSearchNativeAPIUsage() throws Exception { entityManager.close(); } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + @Override public Class[] getAnnotatedClasses() { return new Class[] { Insurance.class }; diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/SearchOnStandaloneOGMTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/SearchOnStandaloneOGMTest.java index efd948d77b..671299dbfb 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/SearchOnStandaloneOGMTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/hsearch/SearchOnStandaloneOGMTest.java @@ -9,6 +9,7 @@ import static org.fest.assertions.Assertions.assertThat; import java.util.List; +import java.util.Map; import org.apache.lucene.search.Query; import org.hibernate.Session; @@ -16,6 +17,7 @@ import org.hibernate.ogm.utils.GridDialectType; import org.hibernate.ogm.utils.OgmTestCase; import org.hibernate.ogm.utils.SkipByGridDialect; +import org.hibernate.ogm.utils.TestHelper; import org.hibernate.search.FullTextQuery; import org.hibernate.search.FullTextSession; import org.hibernate.search.Search; @@ -60,6 +62,11 @@ public void testHibernateSearchJPAAPIUsage() throws Exception { fts.close(); } + @Override + protected void configure(Map cfg) { + TestHelper.enableCountersForInfinispan( cfg ); + } + @Override protected Class[] getAnnotatedClasses() { return new Class[] { Insurance.class }; diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorTest.java index ff4891ceae..c79404e51c 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorTest.java @@ -8,6 +8,8 @@ import javax.persistence.EntityManager; +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -60,6 +62,11 @@ public void testAutoIdentifierGenerator() throws Exception { em.getTransaction().commit(); } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + @Override public Class[] getAnnotatedClasses() { return new Class[] { diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorWithSessionTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorWithSessionTest.java index a6ab15a7cd..f261ee33c0 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorWithSessionTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/AutoIdGeneratorWithSessionTest.java @@ -8,9 +8,12 @@ import static org.fest.assertions.Assertions.assertThat; +import java.util.Map; + import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.ogm.utils.OgmTestCase; +import org.hibernate.ogm.utils.TestHelper; import org.junit.Test; /** @@ -50,6 +53,11 @@ public void testAutoIdentifierGenerator() throws Exception { session.close(); } + @Override + protected void configure(Map cfg) { + TestHelper.enableCountersForInfinispan( cfg ); + } + @Override protected Class[] getAnnotatedClasses() { return new Class[] { DistributedRevisionControl.class }; diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/CompositeIdTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/CompositeIdTest.java index 62f1e1cd72..ff78d2048d 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/CompositeIdTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/CompositeIdTest.java @@ -13,7 +13,8 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; - +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.hibernate.ogm.utils.jpa.OgmJpaTestCase; import static org.fest.assertions.Assertions.assertThat; @@ -110,6 +111,11 @@ public void testCompositeEmbeddedId() throws Exception { em.getTransaction().commit(); } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + @Override public Class[] getAnnotatedClasses() { return new Class[] { diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceIdGeneratorTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceIdGeneratorTest.java index 73a42a942f..7ee44172af 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceIdGeneratorTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceIdGeneratorTest.java @@ -11,6 +11,8 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.hibernate.ogm.utils.jpa.OgmJpaTestCase; import static org.fest.assertions.Assertions.assertThat; @@ -85,6 +87,11 @@ public void testSequenceIdGenerationInJTA() throws Exception { em.getTransaction().commit(); } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + @Override public Class[] getAnnotatedClasses() { return new Class[] { diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceNextValueGenerationTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceNextValueGenerationTest.java index 2d5b535b29..760d125a4b 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceNextValueGenerationTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/SequenceNextValueGenerationTest.java @@ -22,8 +22,8 @@ import org.hibernate.ogm.id.impl.OgmSequenceGenerator; import org.hibernate.ogm.model.key.spi.IdSourceKey; import org.hibernate.ogm.model.key.spi.IdSourceKeyMetadata; -import org.hibernate.ogm.utils.GridDialectType; -import org.hibernate.ogm.utils.SkipByGridDialect; +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.junit.Test; /** @@ -62,7 +62,6 @@ public void testFirstValueIsInitialValue() { } @Test - @SkipByGridDialect(value = GridDialectType.INFINISPAN) public void testIncrements() throws InterruptedException { final IdSourceKey generatorKey = buildIdGeneratorKey( ThreadSafetyEntity.class, THREAD_SAFETY_SEQUENCE ); final NextValueRequest nextValueRequest = new NextValueRequest( generatorKey, THREAD_SAFETY_INCREMENT, THREAD_SAFETY_FIRST_VALUE ); @@ -87,6 +86,11 @@ public void testIncrements() throws InterruptedException { } } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + @Override public Class[] getAnnotatedClasses() { return new Class[]{ InitialValueEntity.class, ThreadSafetyEntity.class }; diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/TableIdGeneratorTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/TableIdGeneratorTest.java index 0bd2b01850..7610ee8b95 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/TableIdGeneratorTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/TableIdGeneratorTest.java @@ -11,7 +11,8 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; - +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.hibernate.ogm.utils.jpa.OgmJpaTestCase; import static org.fest.assertions.Assertions.assertThat; @@ -78,6 +79,11 @@ public void testTableIdGeneratorUsingLong() throws Exception { em.getTransaction().commit(); } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + @Override public Class[] getAnnotatedClasses() { return new Class[] { diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/id/TestNextValueGeneration.java b/core/src/test/java/org/hibernate/ogm/backendtck/id/TestNextValueGeneration.java index e9e3148add..bd027baa3f 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/id/TestNextValueGeneration.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/id/TestNextValueGeneration.java @@ -16,6 +16,8 @@ import org.hibernate.ogm.dialect.spi.NextValueRequest; import org.hibernate.ogm.jpa.impl.OgmEntityManagerFactory; import org.hibernate.ogm.model.key.spi.IdSourceKey; +import org.hibernate.ogm.utils.TestHelper; +import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.hibernate.ogm.utils.jpa.OgmJpaTestCase; import org.hibernate.service.spi.ServiceRegistryImplementor; import org.junit.Before; @@ -65,6 +67,11 @@ protected IdentifierGenerator generateKeyMetadata(Class entityClass) { return generator; } + @Override + protected void configure(GetterPersistenceUnitInfo info) { + TestHelper.enableCountersForInfinispan( info.getProperties() ); + } + protected static class IncrementJob implements Runnable { private final GridDialect dialect; diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/massindex/AssociationMassIndexerTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/massindex/AssociationMassIndexerTest.java index 60ad32c288..c5662f7afd 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/massindex/AssociationMassIndexerTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/massindex/AssociationMassIndexerTest.java @@ -19,6 +19,7 @@ import org.hibernate.ogm.backendtck.massindex.model.IndexedLabel; import org.hibernate.ogm.backendtck.massindex.model.IndexedNews; import org.hibernate.ogm.utils.SkipByGridDialect; +import org.hibernate.ogm.utils.TestHelper; import org.hibernate.ogm.utils.jpa.GetterPersistenceUnitInfo; import org.hibernate.ogm.utils.jpa.OgmJpaTestCase; import org.hibernate.search.jpa.FullTextEntityManager; @@ -137,7 +138,6 @@ public Class[] getAnnotatedClasses() { protected void configure(GetterPersistenceUnitInfo info) { super.configure( info ); info.getProperties().setProperty( "hibernate.search.default.directory_provider", "ram" ); - // Infinispan requires to be set to distribution mode for this test to pass - info.getProperties().setProperty( "hibernate.ogm.infinispan.configuration_resourcename", "infinispan-dist.xml" ); + TestHelper.enableCountersForInfinispan( info.getProperties() ); } } diff --git a/core/src/test/java/org/hibernate/ogm/backendtck/massindex/SimpleEntityMassIndexingTest.java b/core/src/test/java/org/hibernate/ogm/backendtck/massindex/SimpleEntityMassIndexingTest.java index 264613a660..72c0b58f6b 100644 --- a/core/src/test/java/org/hibernate/ogm/backendtck/massindex/SimpleEntityMassIndexingTest.java +++ b/core/src/test/java/org/hibernate/ogm/backendtck/massindex/SimpleEntityMassIndexingTest.java @@ -23,6 +23,7 @@ import org.hibernate.ogm.backendtck.massindex.model.IndexedNews; import org.hibernate.ogm.utils.OgmTestCase; import org.hibernate.ogm.utils.SkipByGridDialect; +import org.hibernate.ogm.utils.TestHelper; import org.hibernate.search.FullTextSession; import org.hibernate.search.Search; import org.hibernate.search.query.dsl.QueryBuilder; @@ -128,7 +129,6 @@ protected Class[] getAnnotatedClasses() { @Override protected void configure(Map settings) { settings.put( "hibernate.search.default.directory_provider", "ram" ); - // Infinispan requires to be set to distribution mode for this test to pass - settings.put( "hibernate.ogm.infinispan.configuration_resourcename", "infinispan-dist.xml" ); + TestHelper.enableCountersForInfinispan( settings ); } } diff --git a/core/src/test/java/org/hibernate/ogm/utils/TestHelper.java b/core/src/test/java/org/hibernate/ogm/utils/TestHelper.java index cdbaa627f1..e72ce8102c 100644 --- a/core/src/test/java/org/hibernate/ogm/utils/TestHelper.java +++ b/core/src/test/java/org/hibernate/ogm/utils/TestHelper.java @@ -416,4 +416,17 @@ private static DatastoreProviderType findByAssignableType(String value) { } } + /** + * If a tests uses sequences or auto-generated id, it requires counters in Infinispan Embedded. + * At the moment counters only work in clustered mode. Once we have counters for local caches as well, + * we can remove this method. + * + * @see OGM-1376 + */ + @SuppressWarnings("unchecked") + public static void enableCountersForInfinispan(@SuppressWarnings("rawtypes") Map cfg) { + // Infinispan requires to be set to distribution mode for this test to pass + cfg.put( "hibernate.ogm.infinispan.configuration_resource_name", "infinispan-dist.xml" ); + } + } diff --git a/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CacheMappingTestBase.java b/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CacheMappingTestBase.java index fd16d88c03..51c1845c3b 100644 --- a/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CacheMappingTestBase.java +++ b/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CacheMappingTestBase.java @@ -18,6 +18,7 @@ import org.hibernate.ogm.model.impl.DefaultIdSourceKeyMetadata; import org.hibernate.ogm.model.key.spi.RowKey; import org.hibernate.ogm.utils.OgmTestCase; +import org.hibernate.ogm.utils.TestHelper; import org.infinispan.Cache; import org.junit.Test; @@ -79,6 +80,11 @@ private InfinispanEmbeddedDatastoreProvider getProvider() { .getService( DatastoreProvider.class ); } + @Override + protected void configure(Map cfg) { + TestHelper.enableCountersForInfinispan( cfg ); + } + @Override protected Class[] getAnnotatedClasses() { return new Class[] { Family.class, Plant.class }; diff --git a/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindCacheMappingTest.java b/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindCacheMappingTest.java index 7577e76534..1aa947031b 100644 --- a/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindCacheMappingTest.java +++ b/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindCacheMappingTest.java @@ -40,6 +40,7 @@ public void shouldUseCachePerTable() { @Override protected void configure(Map cfg) { + super.configure( cfg ); cfg.put( InfinispanProperties.CACHE_MAPPING, CacheMappingType.CACHE_PER_KIND ); } } diff --git a/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindConfiguredViaOptionCacheMappingTest.java b/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindConfiguredViaOptionCacheMappingTest.java index fbd6e3fc02..984187a51a 100644 --- a/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindConfiguredViaOptionCacheMappingTest.java +++ b/infinispan-embedded/src/test/java/org/hibernate/ogm/datastore/infinispan/test/cachemapping/CachePerKindConfiguredViaOptionCacheMappingTest.java @@ -43,6 +43,7 @@ public void shouldUseCachePerTable() { @Override protected void configure(Map cfg) { + super.configure( cfg ); cfg.put( OgmProperties.OPTION_CONFIGURATOR, new OptionConfigurator() { @Override