/**
* JBoss, Home of Professional Open Source
* Copyright 2009 Red Hat Inc. and/or its affiliates and other
* contributors as indicated by the @author tags. All rights reserved.
* See the copyright.txt in the distribution for a full listing of
* individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* ~
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.infinispan.spring.provider;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertSame;
import static org.testng.AssertJUnit.assertTrue;
import java.util.Properties;
import javax.management.MBeanServer;
import org.infinispan.Cache;
import org.infinispan.Version;
import org.infinispan.config.Configuration;
import org.infinispan.config.Configuration.CacheMode;
import org.infinispan.config.GlobalConfiguration.ShutdownHookBehavior;
import org.infinispan.jmx.MBeanServerLookup;
import org.infinispan.jmx.PlatformMBeanServerLookup;
import org.infinispan.lifecycle.ComponentStatus;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.spring.AbstractEmbeddedCacheManagerFactory;
import org.infinispan.spring.mock.MockExecutorFatory;
import org.infinispan.spring.mock.MockMarshaller;
import org.infinispan.spring.mock.MockScheduleExecutorFactory;
import org.infinispan.spring.mock.MockTransport;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.testng.annotations.Test;
/**
* <p>
* Test {@link SpringEmbeddedCacheManagerFactoryBean}.
* </p>
*
* @author <a href="mailto:olaf DOT bergner AT gmx DOT de">Olaf Bergner</a>
* @author Marius Bogoevici
*
*/
@Test(testName = "spring.provider.SpringEmbeddedCacheManagerFactoryBeanTest", groups = "unit")
public class SpringEmbeddedCacheManagerFactoryBeanTest {
private static final String CACHE_NAME_FROM_CONFIGURATION_FILE = "asyncCache";
private static final String NAMED_ASYNC_CACHE_CONFIG_LOCATION = "named-async-cache.xml";
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setConfigurationFileLocation(org.springframework.core.io.Resource)}
* .
*
* @throws Exception
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldCreateACacheManagerEvenIfNoDefaultConfigurationLocationHasBeenSet()
throws Exception {
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertNotNull(
"getObject() should have returned a valid SpringEmbeddedCacheManager, even if no defaulConfigurationLocation "
+ "has been specified. However, it returned null.",
springEmbeddedCacheManager);
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setConfigurationFileLocation(org.springframework.core.io.Resource)}
* .
*
* @throws Exception
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldCreateACustomizedCacheManagerIfGivenADefaultConfigurationLocation()
throws Exception {
final Resource infinispanConfig = new ClassPathResource(NAMED_ASYNC_CACHE_CONFIG_LOCATION,
getClass());
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean() {
@Override
protected EmbeddedCacheManager createCacheManager(ConfigurationContainer template) {
return TestCacheManagerFactory.createCacheManager(
template.globalConfiguration, template.defaultConfiguration);
}
};
objectUnderTest.setConfigurationFileLocation(infinispanConfig);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertNotNull(
"getObject() should have returned a valid SpringEmbeddedCacheManager, configured using the configuration file "
+ "set on SpringEmbeddedCacheManagerFactoryBean. However, it returned null.",
springEmbeddedCacheManager);
final SpringCache cacheDefinedInCustomConfiguration = springEmbeddedCacheManager
.getCache(CACHE_NAME_FROM_CONFIGURATION_FILE);
final Configuration configuration = ((Cache)cacheDefinedInCustomConfiguration.getNativeCache())
.getConfiguration();
assertEquals(
"The cache named ["
+ CACHE_NAME_FROM_CONFIGURATION_FILE
+ "] is configured to have asynchonous replication cache mode. Yet, the cache returned from getCache("
+ CACHE_NAME_FROM_CONFIGURATION_FILE
+ ") has a different cache mode. Obviously, SpringEmbeddedCacheManagerFactoryBean did not use "
+ "the configuration file when instantiating SpringEmbeddedCacheManager.",
CacheMode.REPL_ASYNC, configuration.getCacheMode());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#getObjectType()}.
*
* @throws Exception
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldReportTheCorrectObjectType()
throws Exception {
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"getObjectType() should return the most derived class of the actual SpringEmbeddedCacheManager "
+ "implementation returned from getObject(). However, it didn't.",
springEmbeddedCacheManager.getClass(), objectUnderTest.getObjectType());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#isSingleton()}.
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldDeclareItselfToOnlyProduceSingletons() {
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
assertTrue("isSingleton() should always return true. However, it returned false",
objectUnderTest.isSingleton());
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#destroy()}.
*
* @throws Exception
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldStopTheCreateEmbeddedCacheManagerWhenBeingDestroyed()
throws Exception {
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
springEmbeddedCacheManager.getCache("default"); // Implicitly starts
// SpringEmbeddedCacheManager
objectUnderTest.destroy();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should stop the created SpringEmbeddedCacheManager when being destroyed. "
+ "However, the created SpringEmbeddedCacheManager is still not terminated.",
ComponentStatus.TERMINATED, springEmbeddedCacheManager.getNativeCacheManager()
.getStatus());
springEmbeddedCacheManager.stop();
}
// ~~~~ Testing overriding setters
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setExposeGlobalJmxStatistics(boolean)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseExposeGlobalJmxStatisticsPropIfExplicitlySet()
throws Exception {
final boolean expectedExposeGlobalJmxStatistics = true;
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean() {
@Override
protected EmbeddedCacheManager createCacheManager(ConfigurationContainer template) {
return TestCacheManagerFactory.createCacheManager(
template.globalConfiguration, template.defaultConfiguration);
}
};
objectUnderTest.setExposeGlobalJmxStatistics(expectedExposeGlobalJmxStatistics);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set ExposeGlobalJmxStatistics. However, it didn't.",
expectedExposeGlobalJmxStatistics, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.isExposeGlobalJmxStatistics());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setJmxDomain(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseJmxDomainPropIfExplicitlySet()
throws Exception {
final String expectedJmxDomain = "expected.jmx.Domain";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setJmxDomain(expectedJmxDomain);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set JmxDomain. However, it didn't.",
expectedJmxDomain, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getJmxDomain());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setMBeanServerProperties(java.util.Properties)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseMBeanServerPropertiesPropIfExplicitlySet()
throws Exception {
final Properties expectedMBeanServerProperties = new Properties();
expectedMBeanServerProperties.setProperty("key", "value");
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setMBeanServerProperties(expectedMBeanServerProperties);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set MBeanServerProperties. However, it didn't.",
expectedMBeanServerProperties, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getMBeanServerProperties());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setMBeanServerLookupClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseMBeanServerLookupClassPropIfExplicitlySet()
throws Exception {
final MBeanServerLookup expectedMBeanServerLookup = new MBeanServerLookup() {
@Override
public MBeanServer getMBeanServer(final Properties properties) {
return null;
}
};
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setMBeanServerLookupClass(expectedMBeanServerLookup.getClass().getName());
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set MBeanServerLookupClass. However, it didn't.",
expectedMBeanServerLookup.getClass().getName(), springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration().getMBeanServerLookup());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setMBeanServerLookup(org.infinispan.jmx.MBeanServerLookup)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseMBeanServerLookupPropIfExplicitlySet()
throws Exception {
final MBeanServerLookup expectedMBeanServerLookup = new PlatformMBeanServerLookup();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setMBeanServerLookup(expectedMBeanServerLookup);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertSame(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set MBeanServerLookup. However, it didn't.",
expectedMBeanServerLookup.getClass().getName(), springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration().getMBeanServerLookup());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setAllowDuplicateDomains(boolean)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseAllowDuplicateDomainsPropIfExplicitlySet()
throws Exception {
final boolean expectedAllowDuplicateDomains = true;
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setAllowDuplicateDomains(expectedAllowDuplicateDomains);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set AllowDuplicateDomains. However, it didn't.",
expectedAllowDuplicateDomains, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().isAllowDuplicateDomains());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setCacheManagerName(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseCacheManagerNamePropIfExplicitlySet()
throws Exception {
final String expectedCacheManagerName = "expected.cache.manager.Name";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setCacheManagerName(expectedCacheManagerName);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set CacheManagerName. However, it didn't.",
expectedCacheManagerName, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getCacheManagerName());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setStrictPeerToPeer(boolean)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseStrictPeerToPeerPropIfExplicitlySet()
throws Exception {
final boolean expectedStrictPeerToPeer = true;
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setStrictPeerToPeer(expectedStrictPeerToPeer);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set StrictPeerToPeer. However, it didn't.",
expectedStrictPeerToPeer, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().isStrictPeerToPeer());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setAsyncListenerExecutorFactoryClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseAsyncListenerExecutorFactoryClassPropIfExplicitlySet()
throws Exception {
final String expectedAsyncListenerExecutorFactoryClass = MockExecutorFatory.class.getName();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest
.setAsyncListenerExecutorFactoryClass(expectedAsyncListenerExecutorFactoryClass);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set AsyncListenerExecutorFactoryClass. However, it didn't.",
expectedAsyncListenerExecutorFactoryClass, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getAsyncListenerExecutorFactoryClass());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setAsyncTransportExecutorFactoryClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseAsyncTransportExecutorFactoryClassPropIfExplicitlySet()
throws Exception {
final String expectedAsyncTransportExecutorFactoryClass = MockExecutorFatory.class.getName();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest
.setAsyncTransportExecutorFactoryClass(expectedAsyncTransportExecutorFactoryClass);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set AsyncTransportExecutorFactoryClass. However, it didn't.",
expectedAsyncTransportExecutorFactoryClass, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getAsyncTransportExecutorFactoryClass());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setEvictionScheduledExecutorFactoryClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseEvictionScheduledExecutorFactoryClassPropIfExplicitlySet()
throws Exception {
final String expectedEvictionScheduledExecutorFactoryClass = MockScheduleExecutorFactory.class
.getName();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest
.setEvictionScheduledExecutorFactoryClass(expectedEvictionScheduledExecutorFactoryClass);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set EvictionScheduledExecutorFactoryClass. However, it didn't.",
expectedEvictionScheduledExecutorFactoryClass, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getEvictionScheduledExecutorFactoryClass());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setReplicationQueueScheduledExecutorFactoryClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseReplicationQueueScheduledExecutorFactoryClassPropIfExplicitlySet()
throws Exception {
final String expectedReplicationQueueScheduledExecutorFactoryClass = MockExecutorFatory.class
.getName();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest
.setReplicationQueueScheduledExecutorFactoryClass(expectedReplicationQueueScheduledExecutorFactoryClass);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set ReplicationQueueScheduledExecutorFactoryClass. However, it didn't.",
expectedReplicationQueueScheduledExecutorFactoryClass, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getReplicationQueueScheduledExecutorFactoryClass());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setMarshallerClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseMarshallerClassPropIfExplicitlySet()
throws Exception {
final String expectedMarshallerClass = MockMarshaller.class.getName();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setMarshallerClass(expectedMarshallerClass);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set MarshallerClass. However, it didn't.",
expectedMarshallerClass, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getMarshallerClass());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setTransportNodeName(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseTransportNodeNamePropIfExplicitlySet()
throws Exception {
final String expectedTransportNodeName = "expected.transport.node.Name";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setTransportNodeName(expectedTransportNodeName);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set TransportNodeName. However, it didn't.",
expectedTransportNodeName, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getTransportNodeName());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setTransportClass(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseTransportClassPropIfExplicitlySet()
throws Exception {
final String expectedTransportClass = MockTransport.class.getName();
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setTransportClass(expectedTransportClass);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set TransportClass. However, it didn't.",
expectedTransportClass, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getTransportClass());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setTransportProperties(java.util.Properties)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseTransportPropertiesPropIfExplicitlySet()
throws Exception {
final Properties expectedTransportProperties = new Properties();
expectedTransportProperties.setProperty("key", "value");
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setTransportProperties(expectedTransportProperties);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set TransportProperties. However, it didn't.",
expectedTransportProperties, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getTransportProperties());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setClusterName(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseClusterNamePropIfExplicitlySet()
throws Exception {
final String expectedClusterName = "expected.cluster.Name";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setClusterName(expectedClusterName);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set ClusterName. However, it didn't.",
expectedClusterName, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getClusterName());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setMachineId(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseMachineIdPropIfExplicitlySet()
throws Exception {
final String expectedMachineId = "expected.machine.Id";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setMachineId(expectedMachineId);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set MachineId. However, it didn't.",
expectedMachineId, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getMachineId());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setRackId(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseRackIdPropIfExplicitlySet()
throws Exception {
final String expectedRackId = "expected.rack.Id";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setRackId(expectedRackId);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set RackId. However, it didn't.",
expectedRackId, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getRackId());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setSiteId(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseSiteIdPropIfExplicitlySet()
throws Exception {
final String expectedSiteId = "expected.site.Id";
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setSiteId(expectedSiteId);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set SiteId. However, it didn't.",
expectedSiteId, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getSiteId());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setShutdownHookBehavior(java.lang.String)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseShutdownHookBehaviorPropIfExplicitlySet()
throws Exception {
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setShutdownHookBehavior(ShutdownHookBehavior.DONT_REGISTER.name());
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set ShutdownHookBehavior. However, it didn't.",
ShutdownHookBehavior.DONT_REGISTER, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration().getShutdownHookBehavior());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setAsyncListenerExecutorProperties(java.util.Properties)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseAsyncListenerExecutorPropertiesPropIfExplicitlySet()
throws Exception {
final Properties expectedAsyncListenerExecutorProperties = new Properties();
expectedAsyncListenerExecutorProperties.setProperty("key", "value");
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setAsyncListenerExecutorProperties(expectedAsyncListenerExecutorProperties);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set AsyncListenerExecutorProperties. However, it didn't.",
expectedAsyncListenerExecutorProperties, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getAsyncListenerExecutorProperties());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setAsyncTransportExecutorProperties(java.util.Properties)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseAsyncTransportExecutorPropertiesPropIfExplicitlySet()
throws Exception {
final Properties expectedAsyncTransportExecutorProperties = new Properties();
expectedAsyncTransportExecutorProperties.setProperty("key", "value");
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setAsyncTransportExecutorProperties(expectedAsyncTransportExecutorProperties);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set AsyncTransportExecutorProperties. However, it didn't.",
expectedAsyncTransportExecutorProperties, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getAsyncTransportExecutorProperties());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setEvictionScheduledExecutorProperties(java.util.Properties)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseEvictionScheduledExecutorPropertiesPropIfExplicitlySet()
throws Exception {
final Properties expectedEvictionScheduledExecutorProperties = new Properties();
expectedEvictionScheduledExecutorProperties.setProperty("key", "value");
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest
.setEvictionScheduledExecutorProperties(expectedEvictionScheduledExecutorProperties);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set EvictionScheduledExecutorProperties. However, it didn't.",
expectedEvictionScheduledExecutorProperties, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getEvictionScheduledExecutorProperties());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setReplicationQueueScheduledExecutorProperties(java.util.Properties)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseReplicationQueueScheduledExecutorPropertiesPropIfExplicitlySet()
throws Exception {
final Properties expectedReplicationQueueScheduledExecutorProperties = new Properties();
expectedReplicationQueueScheduledExecutorProperties.setProperty("key", "value");
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest
.setReplicationQueueScheduledExecutorProperties(expectedReplicationQueueScheduledExecutorProperties);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set ReplicationQueueScheduledExecutorProperties. However, it didn't.",
expectedReplicationQueueScheduledExecutorProperties, springEmbeddedCacheManager
.getNativeCacheManager().getGlobalConfiguration()
.getReplicationQueueScheduledExecutorProperties());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setMarshallVersion(short)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseMarshallVersionPropIfExplicitlySet()
throws Exception {
final short setMarshallVersion = 1234;
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setMarshallVersion(setMarshallVersion);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set MarshallVersion. However, it didn't.",
setMarshallVersion, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getMarshallVersion());
springEmbeddedCacheManager.stop();
}
/**
* Test method for
* {@link org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean#setDistributedSyncTimeout(long)}
* .
*/
@Test
public final void springEmbeddedCacheManagerFactoryBeanShouldUseDistributedSyncTimeoutPropIfExplicitlySet()
throws Exception {
final long expectedDistributedSyncTimeout = 123456L;
final SpringEmbeddedCacheManagerFactoryBean objectUnderTest = new SpringEmbeddedCacheManagerFactoryBean();
objectUnderTest.setDistributedSyncTimeout(expectedDistributedSyncTimeout);
objectUnderTest.afterPropertiesSet();
final SpringEmbeddedCacheManager springEmbeddedCacheManager = objectUnderTest.getObject();
assertEquals(
"SpringEmbeddedCacheManagerFactoryBean should have used explicitly set DistributedSyncTimeout. However, it didn't.",
expectedDistributedSyncTimeout, springEmbeddedCacheManager.getNativeCacheManager()
.getGlobalConfiguration().getDistributedSyncTimeout());
springEmbeddedCacheManager.stop();
}
}