package systems.composable.dropwizard.cassandra.loadbalancing;
import com.datastax.driver.core.policies.LoadBalancingPolicy;
import com.datastax.driver.core.policies.TokenAwarePolicy;
import org.junit.Before;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class TokenAwarePolicyFactoryTest {
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 buildsPolicyWithChildPolicy() throws Exception {
final TokenAwarePolicyFactory factory = new TokenAwarePolicyFactory();
factory.setSubPolicy(subPolicyFactory);
final TokenAwarePolicy policy = (TokenAwarePolicy) factory.build();
assertThat(policy.getChildPolicy()).isSameAs(subPolicy);
}
}