/** * 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; 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.PING_ON_STARTUP; 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_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> * */ public class ConfigurationPropertiesOverridesTest { private final Properties defaultConfigurationProperties = new ConfigurationProperties() .getProperties(); /** * Test method for {@link org.infinispan.spring.ConfigurationPropertiesOverrides#isEmpty()}. */ @Test public final void isEmptyShouldRecognizeThatConfigurationPropertiesOverridesAreEmpty() { final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); assertTrue( "isEmpty() should have noticed that the ConfigurationPropertiesOverrides instance is indeed empty. However, it didn't.", objectUnderTest.isEmpty()); } /** * Test method for {@link org.infinispan.spring.ConfigurationPropertiesOverrides#isEmpty()}. */ @Test public final void isEmptyShouldRecognizeThatConfigurationPropertiesOverridesAreNotEmpty() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setTransportFactory(java.lang.String)} * . */ @Test public final void setTransportFactoryShouldOverrideDefaultTransportFactory() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setServerList(java.util.Collection)} * . */ @Test public final void setServerListShouldOverrideDefaultServerList() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setMarshaller(java.lang.String)} * . */ @Test public final void setMarshallerShouldOverrideDefaultMarshaller() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setAsyncExecutorFactory(java.lang.String)} * . */ @Test public final void setAsyncExecutorFactoryShouldOverrideDefaultAsyncExecutorFactory() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setTcpNoDelay(boolean)}. */ @Test public final void setTcpNoDelayShouldOverrideDefaultTcpNoDelay() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setPingOnStartup(boolean)}. */ @Test public final void setPingOnStartupShouldOverrideDefaultPingOnStartup() { final boolean expectedPingOnStartup = true; final ConfigurationPropertiesOverrides objectUnderTest = new ConfigurationPropertiesOverrides(); objectUnderTest.setPingOnStartup(expectedPingOnStartup); final Properties overriddenConfigurationProperties = objectUnderTest .override(this.defaultConfigurationProperties); assertEquals("override(" + this.defaultConfigurationProperties + ") should have overridden property 'transportFactory'. However, it didn't.", String.valueOf(expectedPingOnStartup), overriddenConfigurationProperties.getProperty(PING_ON_STARTUP)); } /** * Test method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setRequestBalancingStrategy(java.lang.String)} * . */ @Test public final void setRequestBalancingStrategyShouldOverrideDefaultRequestBalancingStrategy() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setKeySizeEstimate(int)}. */ @Test public final void setKeySizeEstimateShouldOverrideDefaultKeySizeEstimate() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setValueSizeEstimate(int)}. */ @Test public final void setValueSizeEstimateShouldOverrideDefaultValueSizeEstimate() { 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 method for * {@link org.infinispan.spring.ConfigurationPropertiesOverrides#setForceReturnValues(boolean)}. */ @Test public final void setForceReturnValuesShouldOverrideDefaultForceReturnValues() { 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)); } }