package org.infinispan.persistence.rest; import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; import org.infinispan.commons.api.BasicCacheContainer; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.metadata.InternalMetadata; import org.infinispan.persistence.ParallelIterationTest; import org.infinispan.persistence.rest.configuration.RestStoreConfigurationBuilder; import org.infinispan.rest.EmbeddedRestServer; import org.infinispan.rest.RestTestingUtil; import org.infinispan.test.TestingUtil; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.testng.annotations.Test; /** * @author Mircea Markus * @since 6.0 */ @Test (groups = "functional", testName = "persistence.rest.RestStoreParallelIterationTest") public class RestStoreParallelIterationTest extends ParallelIterationTest { private EmbeddedCacheManager localCacheManager; private EmbeddedRestServer restServer; protected void configurePersistence(ConfigurationBuilder cb) { localCacheManager = TestCacheManagerFactory.createCacheManager(); restServer = RestTestingUtil.startRestServer(localCacheManager); cb.persistence().addStore(RestStoreConfigurationBuilder.class) .host("localhost") .port(restServer.getPort()) .path("/rest/"+ BasicCacheContainer.DEFAULT_CACHE_NAME) .preload(false); } @Override protected void teardown() { super.teardown(); RestTestingUtil.killServers(restServer); TestingUtil.killCacheManagers(localCacheManager); } @Override protected void assertMetadataEmpty(InternalMetadata metadata) { // RestStore always creates metadata, even if we wrote the entry with null metadata if (metadata != null) { assertTrue(metadata.created() < 0); assertTrue(metadata.lastUsed() < 0); assertTrue(metadata.lifespan() < 0); assertTrue(metadata.maxIdle() < 0); assertNull(metadata.version()); } } }