Skip to content

Commit f642773

Browse files
committed
JAVA-3142: Removed redundant test
1 parent 63142ef commit f642773

File tree

2 files changed

+23
-39
lines changed

2 files changed

+23
-39
lines changed

core/src/main/java/com/datastax/oss/driver/internal/core/loadbalancing/BasicLoadBalancingPolicy.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -352,18 +352,17 @@ protected Object[] computeNodes() {
352352
if (preferredRemoteDcs.isEmpty()) {
353353
return liveNodes.dc(dc).stream().limit(maxNodesPerRemoteDc);
354354
} else {
355-
final Object[] nodesPerDc =
355+
final Object[] nodesPerRemoteDc =
356356
liveNodes.dc(dc).stream().limit(maxNodesPerRemoteDc).toArray();
357-
if (nodesPerDc.length > 0) {
358-
shuffleHead(nodesPerDc, nodesPerDc.length);
357+
if (nodesPerRemoteDc.length > 0) {
358+
shuffleHead(nodesPerRemoteDc, nodesPerRemoteDc.length);
359359
}
360-
return Stream.of(nodesPerDc);
360+
return Stream.of(nodesPerRemoteDc);
361361
}
362362
})
363363
.toArray();
364364

365365
int remoteNodesLength = remoteNodes.length;
366-
367366
if (remoteNodesLength == 0) {
368367
return EMPTY_NODES;
369368
}

core/src/test/java/com/datastax/oss/driver/internal/core/loadbalancing/BasicLoadBalancingPolicyPreferredRemoteDcsTest.java

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import static org.assertj.core.api.Assertions.assertThat;
2121
import static org.mockito.ArgumentMatchers.any;
2222
import static org.mockito.ArgumentMatchers.eq;
23-
import static org.mockito.BDDMockito.then;
2423
import static org.mockito.Mockito.atLeast;
2524
import static org.mockito.Mockito.never;
2625
import static org.mockito.Mockito.spy;
@@ -36,7 +35,6 @@
3635
import com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap;
3736
import com.datastax.oss.driver.shaded.guava.common.collect.ImmutableSet;
3837
import java.util.ArrayList;
39-
import java.util.Collections;
4038
import java.util.Map;
4139
import java.util.UUID;
4240
import org.junit.Test;
@@ -52,15 +50,29 @@ public class BasicLoadBalancingPolicyPreferredRemoteDcsTest
5250

5351
@Override
5452
@Test
55-
public void
56-
should_use_round_robin_when_token_map_returns_no_replicas_using_request_keyspace_and_routing_key() {
53+
public void should_prioritize_single_replica() {
5754
when(request.getRoutingKeyspace()).thenReturn(KEYSPACE);
5855
when(request.getRoutingKey()).thenReturn(ROUTING_KEY);
59-
when(tokenMap.getReplicas(KEYSPACE, ROUTING_KEY)).thenReturn(Collections.emptySet());
56+
when(tokenMap.getReplicas(KEYSPACE, ROUTING_KEY)).thenReturn(ImmutableSet.of(node3));
6057

61-
assertRoundRobinQueryPlans();
58+
// node3 always first, round-robin on the rest
59+
assertThat(policy.newQueryPlan(request, session))
60+
.containsExactly(
61+
node3, node1, node2, node4, node5, node9, node10, node6, node7, node12, node13);
62+
assertThat(policy.newQueryPlan(request, session))
63+
.containsExactly(
64+
node3, node2, node4, node5, node1, node9, node10, node6, node7, node12, node13);
65+
assertThat(policy.newQueryPlan(request, session))
66+
.containsExactly(
67+
node3, node4, node5, node1, node2, node9, node10, node6, node7, node12, node13);
68+
assertThat(policy.newQueryPlan(request, session))
69+
.containsExactly(
70+
node3, node5, node1, node2, node4, node9, node10, node6, node7, node12, node13);
6271

63-
then(tokenMap).should(atLeast(1)).getReplicas(KEYSPACE, ROUTING_KEY);
72+
// Should not shuffle replicas since there is only one
73+
verify(policy, never()).shuffleHead(any(), eq(1));
74+
// But should shuffle remote nodes
75+
verify(policy, times(12)).shuffleHead(any(), eq(2));
6476
}
6577

6678
@Override
@@ -87,33 +99,6 @@ public void should_prioritize_and_shuffle_replicas() {
8799
verify(session, never()).getPools();
88100
}
89101

90-
@Override
91-
@Test
92-
public void should_prioritize_single_replica() {
93-
when(request.getRoutingKeyspace()).thenReturn(KEYSPACE);
94-
when(request.getRoutingKey()).thenReturn(ROUTING_KEY);
95-
when(tokenMap.getReplicas(KEYSPACE, ROUTING_KEY)).thenReturn(ImmutableSet.of(node3));
96-
97-
// node3 always first, round-robin on the rest
98-
assertThat(policy.newQueryPlan(request, session))
99-
.containsExactly(
100-
node3, node1, node2, node4, node5, node9, node10, node6, node7, node12, node13);
101-
assertThat(policy.newQueryPlan(request, session))
102-
.containsExactly(
103-
node3, node2, node4, node5, node1, node9, node10, node6, node7, node12, node13);
104-
assertThat(policy.newQueryPlan(request, session))
105-
.containsExactly(
106-
node3, node4, node5, node1, node2, node9, node10, node6, node7, node12, node13);
107-
assertThat(policy.newQueryPlan(request, session))
108-
.containsExactly(
109-
node3, node5, node1, node2, node4, node9, node10, node6, node7, node12, node13);
110-
111-
// Should not shuffle replicas since there is only one
112-
verify(policy, never()).shuffleHead(any(), eq(1));
113-
// But should shuffle remote nodes
114-
verify(policy, times(12)).shuffleHead(any(), eq(2));
115-
}
116-
117102
@Override
118103
protected void assertRoundRobinQueryPlans() {
119104
for (int i = 0; i < 3; i++) {

0 commit comments

Comments
 (0)