package systems.composable.dropwizard.cassandra.loadbalancing;
import com.datastax.driver.core.policies.LoadBalancingPolicy;
import com.datastax.driver.core.policies.WhiteListPolicy;
import org.junit.Before;
import org.junit.Test;
import java.net.InetSocketAddress;
import java.util.Collections;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class WhiteListPolicyFactoryTest {
private final LoadBalancingPolicyFactory subPolicyFactory = mock(LoadBalancingPolicyFactory.class);
private final LoadBalancingPolicy subPolicy = mock(LoadBalancingPolicy.class);
@Before
public void setUp() throws Exception {
when(subPolicyFactory.build()).thenReturn(subPolicy);
}
@Test
public void buildsPolicy() throws Exception {
final WhiteListPolicyFactory factory = new WhiteListPolicyFactory();
factory.setSubPolicy(subPolicyFactory);
factory.setWhiteList(Collections.singletonList(new InetSocketAddress("localhost", 9876)));
final WhiteListPolicy policy = (WhiteListPolicy) factory.build();
assertThat(policy.getChildPolicy()).isSameAs(subPolicy);
}
}