package org.infinispan.server.hotrod; import static org.infinispan.server.hotrod.OperationStatus.Success; import static org.infinispan.server.hotrod.test.HotRodTestingUtil.assertStatus; import static org.testng.AssertJUnit.assertEquals; import java.lang.reflect.Method; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.context.Flag; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.persistence.dummy.DummyInMemoryStoreConfigurationBuilder; import org.infinispan.server.hotrod.test.TestSizeResponse; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.testng.annotations.Test; @Test(groups = "functional", testName = "server.hotrod.HotRodWithStoreTest") public class HotRodWithStoreTest extends HotRodSingleNodeTest { @Override public EmbeddedCacheManager createCacheManager() { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(DummyInMemoryStoreConfigurationBuilder.class) .storeName(getClass().getName()); EmbeddedCacheManager cacheManager = TestCacheManagerFactory.createCacheManager( new GlobalConfigurationBuilder().nonClusteredDefault().defaultCacheName(cacheName), builder); advancedCache = cacheManager.<byte[], byte[]>getCache(cacheName).getAdvancedCache(); return cacheManager; } public void testSize(Method m) { TestSizeResponse sizeStart = client().size(); assertStatus(sizeStart, Success); assertEquals(0, sizeStart.size); for (int i = 0; i < 20; i++) client().assertPut(m, "k-" + i, "v-" + i); // Clear contents from memory advancedCache.withFlags(Flag.SKIP_CACHE_STORE).clear(); TestSizeResponse sizeEnd = client().size(); assertStatus(sizeEnd, Success); assertEquals(20, sizeEnd.size); } }