Package org.infinispan.config.parsing

Source Code of org.infinispan.config.parsing.XmlFileParsingTest

package org.infinispan.config.parsing;

import org.infinispan.config.CacheLoaderManagerConfig;
import org.infinispan.config.Configuration;
import org.infinispan.config.GlobalConfiguration;
import org.infinispan.config.GlobalConfiguration.ShutdownHookBehavior;
import org.infinispan.distribution.DefaultConsistentHash;
import org.infinispan.eviction.EvictionStrategy;
import org.infinispan.loaders.file.FileCacheStoreConfig;
import org.infinispan.util.concurrent.IsolationLevel;
import org.testng.annotations.Test;

import java.io.IOException;
import java.util.Map;

@Test(groups = "unit", testName = "config.parsing.XmlFileParsingTest")
public class XmlFileParsingTest {

   public void testNamedCacheFileRegular()throws IOException {
      testNamedCacheFile(new XmlConfigurationParserImpl("configs/named-cache-test.xml"));
   }
  
   public void testNamedCacheFileAutomated()throws IOException {
      testNamedCacheFile(new AutomatedXmlConfigurationParserImpl("configs/named-cache-test.xml"));
   }
  
   public void testConfigurationMergingRegular() throws IOException{
      testConfigurationMerging(new XmlConfigurationParserImpl("configs/named-cache-test.xml"));
   }
  
   public void testConfigurationMergingRegularAutomated() throws IOException{
      testConfigurationMerging(new AutomatedXmlConfigurationParserImpl("configs/named-cache-test.xml"));
   }
  
   private void testNamedCacheFile(XmlConfigurationParser parser) throws IOException {
     
      GlobalConfiguration gc = parser.parseGlobalConfiguration();

      assert gc.getAsyncListenerExecutorFactoryClass().equals("org.infinispan.executors.DefaultExecutorFactory");
      assert gc.getAsyncListenerExecutorProperties().getProperty("maxThreads").equals("5");
      assert gc.getAsyncListenerExecutorProperties().getProperty("threadNamePrefix").equals("AsyncListenerThread");

      assert gc.getAsyncTransportExecutorFactoryClass().equals("org.infinispan.executors.DefaultExecutorFactory");
      assert gc.getAsyncTransportExecutorProperties().getProperty("maxThreads").equals("25");
      assert gc.getAsyncTransportExecutorProperties().getProperty("threadNamePrefix").equals("AsyncSerializationThread");

      assert gc.getEvictionScheduledExecutorFactoryClass().equals("org.infinispan.executors.DefaultScheduledExecutorFactory");
      assert gc.getEvictionScheduledExecutorProperties().getProperty("threadNamePrefix").equals("EvictionThread");

      assert gc.getReplicationQueueScheduledExecutorFactoryClass().equals("org.infinispan.executors.DefaultScheduledExecutorFactory");
      assert gc.getReplicationQueueScheduledExecutorProperties().getProperty("threadNamePrefix").equals("ReplicationQueueThread");

      assert gc.getTransportClass().equals("org.infinispan.remoting.transport.jgroups.JGroupsTransport");
      assert gc.getClusterName().equals("infinispan-cluster");
      assert gc.getDistributedSyncTimeout() == 50000;
     
      assert gc.getShutdownHookBehavior().equals(ShutdownHookBehavior.REGISTER);
     
      assert gc.getMarshallerClass().equals("org.infinispan.marshall.VersionAwareMarshaller");
      assert gc.getMarshallVersionString().equals("1.0");

      Configuration defaultConfiguration = parser.parseDefaultConfiguration();

      assert defaultConfiguration.getLockAcquisitionTimeout() == 1000;
      assert defaultConfiguration.getConcurrencyLevel() == 100;
      assert defaultConfiguration.getIsolationLevel() == IsolationLevel.READ_COMMITTED;

      Map<String, Configuration> namedCaches = parser.parseNamedConfigurations();

      Configuration c = namedCaches.get("transactional");

      assert c.getTransactionManagerLookupClass().equals("org.infinispan.transaction.lookup.GenericTransactionManagerLookup");
      assert c.isUseEagerLocking();
      assert !c.isSyncRollbackPhase();

      c = namedCaches.get("syncRepl");

      assert c.getCacheMode() == Configuration.CacheMode.REPL_SYNC;
      assert !c.isFetchInMemoryState();
      assert c.getSyncReplTimeout() == 15000;

      c = namedCaches.get("asyncRepl");

      assert c.getCacheMode() == Configuration.CacheMode.REPL_ASYNC;
      assert !c.isUseReplQueue();
      assert !c.isUseAsyncMarshalling();
      assert !c.isFetchInMemoryState();

      c = namedCaches.get("asyncReplQueue");

      assert c.getCacheMode() == Configuration.CacheMode.REPL_ASYNC;
      assert c.isUseReplQueue();
      assert c.isUseAsyncMarshalling();
      assert !c.isFetchInMemoryState();

      c = namedCaches.get("txSyncRepl");

      assert c.getTransactionManagerLookupClass().equals("org.infinispan.transaction.lookup.GenericTransactionManagerLookup");
      assert c.getCacheMode() == Configuration.CacheMode.REPL_SYNC;
      assert !c.isFetchInMemoryState();
      assert c.getSyncReplTimeout() == 15000;

      c = namedCaches.get("overriding");

      assert c.getTransactionManagerLookupClass() == null;
      assert c.getCacheMode() == Configuration.CacheMode.LOCAL;
      assert c.getLockAcquisitionTimeout() == 20000;
      assert c.getConcurrencyLevel() == 1000;
      assert c.getIsolationLevel() == IsolationLevel.REPEATABLE_READ;
      assert !c.isUseLazyDeserialization();

      c = namedCaches.get("lazyDeserialization");
      assert c.isUseLazyDeserialization();

      c = namedCaches.get("withLoader");
      CacheLoaderManagerConfig loaderManagerConfig = c.getCacheLoaderManagerConfig();
      assert loaderManagerConfig.isPreload();
      assert !loaderManagerConfig.isPassivation();
      assert !loaderManagerConfig.isShared();
      assert loaderManagerConfig.getCacheLoaderConfigs().size() == 1;
      FileCacheStoreConfig csConf = (FileCacheStoreConfig) loaderManagerConfig.getFirstCacheLoaderConfig();
      assert csConf.getCacheLoaderClassName().equals("org.infinispan.loaders.file.FileCacheStore");
      assert csConf.isFetchPersistentState();
      assert csConf.isIgnoreModifications();
      assert csConf.isPurgeOnStartup();
      assert csConf.getLocation().equals("/tmp/FileCacheStore-Location");
      assert csConf.getSingletonStoreConfig().getPushStateTimeout() == 20000;
      assert csConf.getSingletonStoreConfig().isPushStateWhenCoordinator() == true;
      assert csConf.getAsyncStoreConfig().getBatchSize() == 1000;
      assert csConf.getAsyncStoreConfig().getThreadPoolSize() == 5;
      assert csConf.getAsyncStoreConfig().isEnabled();

      c = namedCaches.get("withouthJmxEnabled");
      assert !c.isExposeJmxStatistics();
      assert !gc.isExposeGlobalJmxStatistics();
      assert gc.isAllowDuplicateDomains();
      assert gc.getJmxDomain().equals("funky_domain");
      assert gc.getMBeanServerLookup().equals("org.infinispan.jmx.PerThreadMBeanServerLookup");

      c = namedCaches.get("dist");
      assert c.getCacheMode() == Configuration.CacheMode.DIST_SYNC;
      assert c.getL1Lifespan() == 600000;
      assert c.getRehashWaitTime() == 120000;
      assert c.getConsistentHashClass().equals(DefaultConsistentHash.class.getName());
      assert c.getNumOwners() == 3;
      assert c.isL1CacheEnabled();
     
      c = namedCaches.get("cacheWithCustomInterceptors");
      assert !c.getCustomInterceptors().isEmpty();
      assert c.getCustomInterceptors().size() == 5;
     
      c = namedCaches.get("evictionCache");
      assert c.getEvictionMaxEntries() == 5000;
      assert c.getEvictionStrategy().equals(EvictionStrategy.FIFO);
      assert c.getExpirationLifespan() == 60000;
      assert c.getExpirationMaxIdle() == 1000;
   }

   private void testConfigurationMerging(XmlConfigurationParser parser) throws IOException {
     
      Configuration defaultCfg = parser.parseDefaultConfiguration();
      Map<String, Configuration> namedCaches = parser.parseNamedConfigurations();

      Configuration c = defaultCfg.clone();
      c.applyOverrides(namedCaches.get("transactional"));

      assert c.getCacheMode() == Configuration.CacheMode.LOCAL;
      assert c.getTransactionManagerLookupClass().equals("org.infinispan.transaction.lookup.GenericTransactionManagerLookup");
      assert c.getLockAcquisitionTimeout() == 1000;
      assert c.getConcurrencyLevel() == 100;
      assert c.getIsolationLevel() == IsolationLevel.READ_COMMITTED;

      c = defaultCfg.clone();
      c.applyOverrides(namedCaches.get("syncRepl"));

      assert c.getTransactionManagerLookupClass() == null;
      assert c.getCacheMode() == Configuration.CacheMode.REPL_SYNC;
      assert !c.isFetchInMemoryState();
      assert c.getSyncReplTimeout() == 15000;
      assert c.getLockAcquisitionTimeout() == 1000;
      assert c.getIsolationLevel() == IsolationLevel.READ_COMMITTED;
      assert c.getConcurrencyLevel() == 100;

      c = defaultCfg.clone();
      c.applyOverrides(namedCaches.get("asyncRepl"));

      assert c.getTransactionManagerLookupClass() == null;
      assert c.getCacheMode() == Configuration.CacheMode.REPL_ASYNC;
      assert !c.isUseReplQueue();
      assert !c.isUseAsyncMarshalling();
      assert !c.isFetchInMemoryState();
      assert c.getLockAcquisitionTimeout() == 1000;
      assert c.getIsolationLevel() == IsolationLevel.READ_COMMITTED;
      assert c.getConcurrencyLevel() == 100;

      c = defaultCfg.clone();
      c.applyOverrides(namedCaches.get("asyncReplQueue"));

      assert c.getTransactionManagerLookupClass() == null;
      assert c.getCacheMode() == Configuration.CacheMode.REPL_ASYNC;
      assert c.isUseReplQueue();
      assert c.getReplQueueInterval() == 1234;
      assert c.getReplQueueMaxElements() == 100;
      assert c.isUseAsyncMarshalling();
      assert !c.isFetchInMemoryState();
      assert c.getLockAcquisitionTimeout() == 1000;
      assert c.getIsolationLevel() == IsolationLevel.READ_COMMITTED;
      assert c.getConcurrencyLevel() == 100;

      c = defaultCfg.clone();
      c.applyOverrides(namedCaches.get("txSyncRepl"));
      assert c.getTransactionManagerLookupClass().equals("org.infinispan.transaction.lookup.GenericTransactionManagerLookup");
      assert c.getCacheMode() == Configuration.CacheMode.REPL_SYNC;
      assert !c.isFetchInMemoryState();
      assert c.getSyncReplTimeout() == 15000;
      assert c.getLockAcquisitionTimeout() == 1000;
      assert c.getIsolationLevel() == IsolationLevel.READ_COMMITTED;
      assert c.getConcurrencyLevel() == 100;

      c = defaultCfg.clone();
      c.applyOverrides(namedCaches.get("overriding"));

      assert c.getTransactionManagerLookupClass() == null;
      assert c.getCacheMode() == Configuration.CacheMode.LOCAL;
      assert c.getLockAcquisitionTimeout() == 20000;
      assert c.getConcurrencyLevel() == 1000;
      assert c.getIsolationLevel() == IsolationLevel.REPEATABLE_READ;
   }
}
TOP

Related Classes of org.infinispan.config.parsing.XmlFileParsingTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.