package org.springframework.cloud.service.redis; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.cloud.service.common.RedisServiceInfo; import org.springframework.cloud.service.keyval.RedisConnectionFactoryCreator; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.test.util.ReflectionTestUtils; /** * * @author Ramnivas Laddad * */ public class RedisServiceConnectorCreatorTest { private static final String TEST_HOST = "10.20.30.40"; private static final int TEST_PORT = 1234; private static final String TEST_PASSWORD = "mypass"; @Mock private RedisServiceInfo mockRedisServiceInfo; private RedisConnectionFactoryCreator testCreator = new RedisConnectionFactoryCreator(); @Before public void setup() { MockitoAnnotations.initMocks(this); } @Test public void cloudRedisCreationNoConfig() throws Exception { RedisServiceInfo serviceInfo = createServiceInfo(); RedisConnectionFactory dataSource = testCreator.create(serviceInfo, null); assertConnectorProperties(serviceInfo, dataSource); } public RedisServiceInfo createServiceInfo() { when(mockRedisServiceInfo.getHost()).thenReturn(TEST_HOST); when(mockRedisServiceInfo.getPort()).thenReturn(TEST_PORT); when(mockRedisServiceInfo.getPassword()).thenReturn(TEST_PASSWORD); return mockRedisServiceInfo; } private void assertConnectorProperties(RedisServiceInfo serviceInfo, RedisConnectionFactory connector) { assertNotNull(connector); assertEquals(serviceInfo.getHost(), ReflectionTestUtils.getField(connector, "hostName")); assertEquals(serviceInfo.getPort(), ReflectionTestUtils.getField(connector, "port")); assertEquals(serviceInfo.getPassword(), ReflectionTestUtils.getField(connector, "password")); } }