package org.infinispan.spring; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.ASYNC_EXECUTOR_FACTORY; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.FORCE_RETURN_VALUES; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.KEY_SIZE_ESTIMATE; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.MARSHALLER; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.REQUEST_BALANCING_STRATEGY; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.SERVER_LIST; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.TCP_KEEP_ALIVE; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.TCP_NO_DELAY; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.TRANSPORT_FACTORY; import static org.infinispan.client.hotrod.impl.ConfigurationProperties.VALUE_SIZE_ESTIMATE; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertTrue; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.Collection; import java.util.Properties; import org.infinispan.client.hotrod.impl.ConfigurationProperties; import org.testng.annotations.Test; /** * <p> * Test {@link ConfigurationPropertiesOverrides}. * </p> * * @author <a href="mailto:olaf DOT bergner AT gmx DOT de">Olaf Bergner</a> * */ @Test(groups = "unit", testName = "spring.ConfigurationPropertiesOverridesTest") public class ConfigurationPropertiesOverridesTest { private final Properties defaultConfigurationProperties = new ConfigurationProperties() .getProperties(); @Test public final void testIfIsEmptyRecognizesThatConfigurationPropertiesOverridesAreEmpty() { final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); assertTrue( "isEmpty() should have noticed that the ConfigurationPropertiesOverrides instance is indeed empty. However, it didn't.", objectUnderTest.isEmpty()); } @Test public final void testIfIsEmptyShouldRecognizesThatConfigurationPropertiesOverridesAreNotEmpty() { final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setTransportFactory("test.TransportFactory"); assertFalse( "isEmpty() should have noticed that the ConfigurationPropertiesOverrides instance is not empty. However, it didn't.", objectUnderTest.isEmpty()); } @Test public final void testIfSetTransportFactoryOverridesDefaultTransportFactory() { final String expectedTransportFactory = "test.TransportFactory"; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setTransportFactory(expectedTransportFactory); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", expectedTransportFactory, overriddenConfigurationProperties.getProperty(TRANSPORT_FACTORY)); } @Test public final void testIfSetMarshallerOverridesDefaultMarshaller() { final String expectedMarshaller = "test.Marshaller"; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setMarshaller(expectedMarshaller); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", expectedMarshaller, overriddenConfigurationProperties.getProperty(MARSHALLER)); } @Test public final void testIfSetServerListOverridesDefaultServerList() { final Collection<InetSocketAddress> expectedServerList = new ArrayList<InetSocketAddress>(1); expectedServerList.add(new InetSocketAddress("testhost", 4632)); final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); final String expectedServerListString = "testhost:4632"; objectUnderTest.setServerList(expectedServerList); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", expectedServerListString, overriddenConfigurationProperties.getProperty(SERVER_LIST)); } @Test public final void testIfSetAsyncExecutorFactoryOverridesDefaultAsyncExecutorFactory() { final String expectedAsyncExecutorFactory = "test.AsyncExecutorFactor"; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setAsyncExecutorFactory(expectedAsyncExecutorFactory); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", expectedAsyncExecutorFactory, overriddenConfigurationProperties.getProperty(ASYNC_EXECUTOR_FACTORY)); } @Test public final void testIfSetTcpNoDelayOverridesDefaultTcpNoDelay() { final boolean expectedTcpNoDelay = true; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setTcpNoDelay(expectedTcpNoDelay); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", String.valueOf(expectedTcpNoDelay), overriddenConfigurationProperties.getProperty(TCP_NO_DELAY)); } @Test public final void testIfSetTcpKeepAliveOverridesDefaultTcpKeepAive() { final boolean expectedTcpKeepAlive = false; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setTcpKeepAlive(expectedTcpKeepAlive); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", String.valueOf(expectedTcpKeepAlive), overriddenConfigurationProperties.getProperty(TCP_KEEP_ALIVE)); } @Test public final void testIfSetRequestBalancingStrategyOverridesDefaultRequestBalancingStrategy() { final String expectedRequestBalancingStrategy = "test.RequestBalancingStrategy"; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setRequestBalancingStrategy(expectedRequestBalancingStrategy); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", expectedRequestBalancingStrategy, overriddenConfigurationProperties.getProperty(REQUEST_BALANCING_STRATEGY)); } @Test public final void testIfSetKeySizeEstimateOverridesDefaultKeySizeEstimate() { final int expectedKeySizeEstimate = -123456; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setKeySizeEstimate(expectedKeySizeEstimate); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", String.valueOf(expectedKeySizeEstimate), overriddenConfigurationProperties.getProperty(KEY_SIZE_ESTIMATE)); } @Test public final void testIfValueSizeEstimateOverridesDefaultValueSizeEstimate() { final int expectedValueSizeEstimate = -3456789; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setValueSizeEstimate(expectedValueSizeEstimate); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", String.valueOf(expectedValueSizeEstimate), overriddenConfigurationProperties.getProperty(VALUE_SIZE_ESTIMATE)); } @Test public final void testIfForceReturnValuesOverridesDefaultForceReturnValues() { final boolean expectedForceReturnValues = true; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setForceReturnValues(expectedForceReturnValues); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", String.valueOf(expectedForceReturnValues), overriddenConfigurationProperties.getProperty(FORCE_RETURN_VALUES)); } }