package com.lambdaworks.redis.support;
import static org.assertj.core.api.Assertions.*;
import java.net.URI;
import org.junit.Test;
import com.lambdaworks.redis.RedisURI;
/**
* @author Mark Paluch
*/
public class RedisClusterClientFactoryBeanTest {
private RedisClusterClientFactoryBean sut = new RedisClusterClientFactoryBean();
@Test(expected = IllegalArgumentException.class)
public void invalidUri() throws Exception {
sut.setUri(URI.create("http://www.web.de"));
sut.afterPropertiesSet();
}
@Test(expected = IllegalArgumentException.class)
public void sentinelUri() throws Exception {
sut.setUri(URI.create(RedisURI.URI_SCHEME_REDIS_SENTINEL + "://www.web.de"));
sut.afterPropertiesSet();
}
@Test
public void validUri() throws Exception {
sut.setUri(URI.create(RedisURI.URI_SCHEME_REDIS + "://password@host"));
sut.afterPropertiesSet();
assertThat(sut.getRedisURI().getHost()).isEqualTo("host");
assertThat(sut.getRedisURI().getPassword()).isEqualTo("password".toCharArray());
}
@Test
public void validUriPasswordOverride() throws Exception {
sut.setUri(URI.create(RedisURI.URI_SCHEME_REDIS + "://password@host"));
sut.setPassword("thepassword");
sut.afterPropertiesSet();
assertThat(sut.getRedisURI().getHost()).isEqualTo("host");
assertThat(sut.getRedisURI().getPassword()).isEqualTo("thepassword".toCharArray());
}
@Test
public void supportsSsl() throws Exception {
sut.setUri(URI.create(RedisURI.URI_SCHEME_REDIS_SECURE + "://password@host"));
sut.afterPropertiesSet();
assertThat(sut.getRedisURI().getHost()).isEqualTo("host");
assertThat(sut.getRedisURI().getPassword()).isEqualTo("password".toCharArray());
assertThat(sut.getRedisURI().isVerifyPeer()).isFalse();
assertThat(sut.getRedisURI().isSsl()).isTrue();
}
}