package org.infinispan.marshall;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.AbstractInfinispanTest;
import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
@Test(groups = "functional", testName = "marshall.StoreAsBinaryConfigTest")
public class StoreAsBinaryConfigTest extends AbstractInfinispanTest {
EmbeddedCacheManager ecm;
@AfterMethod
public void cleanup() {
TestingUtil.killCacheManagers(ecm);
ecm = null;
}
public void testKeysOnly() {
ConfigurationBuilder c = new ConfigurationBuilder();
c.storeAsBinary().enable();
ecm = TestCacheManagerFactory.createCacheManager(c);
assert ecm.getCache().getCacheConfiguration().storeAsBinary().enabled();
assert ecm.getCache().getCacheConfiguration().storeAsBinary().storeKeysAsBinary();
assert ecm.getCache().getCacheConfiguration().storeAsBinary().storeValuesAsBinary();
}
public void testValuesOnly() {
ConfigurationBuilder c = new ConfigurationBuilder();
c.storeAsBinary().enable();
ecm = TestCacheManagerFactory.createCacheManager(c);
assert ecm.getCache().getCacheConfiguration().storeAsBinary().enabled();
assert ecm.getCache().getCacheConfiguration().storeAsBinary().storeKeysAsBinary();
assert ecm.getCache().getCacheConfiguration().storeAsBinary().storeValuesAsBinary();
}
public void testBoth() {
ConfigurationBuilder c = new ConfigurationBuilder();
c.storeAsBinary().enable();
ecm = TestCacheManagerFactory.createCacheManager(c);
assert ecm.getCache().getCacheConfiguration().storeAsBinary().enabled();
assert ecm.getCache().getCacheConfiguration().storeAsBinary().storeKeysAsBinary();
assert ecm.getCache().getCacheConfiguration().storeAsBinary().storeValuesAsBinary();
}
public void testConfigCloning() {
ConfigurationBuilder c = new ConfigurationBuilder();
c.storeAsBinary().enable();
ConfigurationBuilder builder = new ConfigurationBuilder().read(c.build());
Configuration clone = builder.build();
assert clone.storeAsBinary().storeKeysAsBinary();
assert clone.storeAsBinary().storeValuesAsBinary();
}
public void testConfigOverriding() {
ConfigurationBuilder c = new ConfigurationBuilder();
c.storeAsBinary().enable();
ecm = TestCacheManagerFactory.createCacheManager(c);
ecm.defineConfiguration("newCache", new ConfigurationBuilder().read(c.build()).storeAsBinary().storeValuesAsBinary(false).storeKeysAsBinary(true).build());
assert ecm.getCache("newCache").getCacheConfiguration().storeAsBinary().enabled();
assert ecm.getCache("newCache").getCacheConfiguration().storeAsBinary().storeKeysAsBinary();
assert ecm.getCache("newCache").getCacheConfiguration().storeAsBinary().storeValuesAsBinary();
}
}