Skip to content

Commit 7a426ae

Browse files
authored
Get cluster URI from any core member in applicable cluster tests (#1093)
1 parent 790e0dc commit 7a426ae

File tree

6 files changed

+25
-35
lines changed

6 files changed

+25
-35
lines changed

driver/src/test/java/org/neo4j/driver/integration/TemporalTypesIT.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@
3131
import java.time.ZonedDateTime;
3232
import java.util.List;
3333
import java.util.concurrent.ThreadLocalRandom;
34+
import java.util.function.Function;
3435
import java.util.function.Supplier;
3536
import java.util.stream.Stream;
3637

37-
import org.neo4j.driver.internal.util.EnabledOnNeo4jWith;
3838
import org.neo4j.driver.Record;
3939
import org.neo4j.driver.Result;
4040
import org.neo4j.driver.Value;
41+
import org.neo4j.driver.internal.util.EnabledOnNeo4jWith;
4142
import org.neo4j.driver.types.IsoDuration;
42-
import java.util.function.Function;
4343
import org.neo4j.driver.util.ParallelizableIT;
4444
import org.neo4j.driver.util.SessionExtension;
4545
import org.neo4j.driver.util.TemporalUtil;
@@ -48,10 +48,10 @@
4848
import static java.util.Collections.singletonMap;
4949
import static java.util.stream.Collectors.toList;
5050
import static org.junit.jupiter.api.Assertions.assertEquals;
51-
import static org.neo4j.driver.internal.util.Neo4jFeature.TEMPORAL_TYPES;
5251
import static org.neo4j.driver.Values.isoDuration;
5352
import static org.neo4j.driver.Values.ofOffsetDateTime;
5453
import static org.neo4j.driver.Values.parameters;
54+
import static org.neo4j.driver.internal.util.Neo4jFeature.TEMPORAL_TYPES;
5555

5656
@EnabledOnNeo4jWith( TEMPORAL_TYPES )
5757
@ParallelizableIT

driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java

+14-16
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public Session newSession( AccessMode mode )
116116
{
117117
if ( driver == null )
118118
{
119-
driver = createDriver( clusterRule.getCluster().leader().getRoutingUri() );
119+
driver = createDriver( clusterRule.getCluster().getRoutingUri() );
120120
}
121121

122122
return driver.session( builder().withDefaultAccessMode( mode ).build() );
@@ -275,7 +275,7 @@ void shouldDropBrokenOldConnections() throws Exception
275275
FakeClock clock = new FakeClock();
276276
ChannelTrackingDriverFactory driverFactory = new ChannelTrackingDriverFactory( clock );
277277

278-
URI routingUri = cluster.leader().getRoutingUri();
278+
URI routingUri = cluster.getRoutingUri();
279279
AuthToken auth = clusterRule.getDefaultAuthToken();
280280

281281
try ( Driver driver = driverFactory.newInstance( routingUri, auth, RoutingSettings.DEFAULT, RetrySettings.DEFAULT, config, SecurityPlanImpl.insecure() ) )
@@ -335,10 +335,9 @@ void shouldAcceptMultipleBookmarks() throws Exception
335335
String value = "Alice";
336336

337337
Cluster cluster = clusterRule.getCluster();
338-
ClusterMember leader = cluster.leader();
339338
executor = newExecutor();
340339

341-
try ( Driver driver = createDriver( leader.getRoutingUri() ) )
340+
try ( Driver driver = createDriver( cluster.getRoutingUri() ) )
342341
{
343342
List<Future<Bookmark>> futures = new ArrayList<>();
344343
for ( int i = 0; i < threadCount; i++ )
@@ -367,16 +366,18 @@ void shouldAcceptMultipleBookmarks() throws Exception
367366
void shouldNotReuseReadConnectionForWriteTransaction()
368367
{
369368
Cluster cluster = clusterRule.getCluster();
370-
ClusterMember leader = cluster.leader();
371369

372-
try ( Driver driver = createDriver( leader.getRoutingUri() ) )
370+
try ( Driver driver = createDriver( cluster.getRoutingUri() ) )
373371
{
374372
AsyncSession session = driver.asyncSession( builder().withDefaultAccessMode( AccessMode.READ ).build() );
375373

376374
CompletionStage<List<RecordAndSummary>> resultsStage = session.runAsync( "RETURN 42" )
377-
.thenCompose( cursor1 ->
378-
session.writeTransactionAsync( tx -> tx.runAsync( "CREATE (:Node1) RETURN 42" )
379-
.thenCompose( cursor2 -> combineCursors( cursor2, cursor1 ) ) ) );
375+
.thenCompose( cursor1 ->
376+
session.writeTransactionAsync(
377+
tx -> tx.runAsync( "CREATE (:Node1) RETURN 42" )
378+
.thenCompose(
379+
cursor2 -> combineCursors( cursor2,
380+
cursor1 ) ) ) );
380381

381382
List<RecordAndSummary> results = await( resultsStage );
382383
assertEquals( 2, results.size() );
@@ -405,15 +406,14 @@ void shouldNotReuseReadConnectionForWriteTransaction()
405406
void shouldRespectMaxConnectionPoolSizePerClusterMember()
406407
{
407408
Cluster cluster = clusterRule.getCluster();
408-
ClusterMember leader = cluster.leader();
409409

410410
Config config = Config.builder()
411411
.withMaxConnectionPoolSize( 2 )
412412
.withConnectionAcquisitionTimeout( 42, MILLISECONDS )
413413
.withLogging( DEV_NULL_LOGGING )
414414
.build();
415415

416-
try ( Driver driver = createDriver( leader.getRoutingUri(), config ) )
416+
try ( Driver driver = createDriver( cluster.getRoutingUri(), config ) )
417417
{
418418
String database = "neo4j";
419419
Session writeSession1 =
@@ -443,11 +443,10 @@ void shouldRespectMaxConnectionPoolSizePerClusterMember()
443443
void shouldAllowExistingTransactionToCompleteAfterDifferentConnectionBreaks()
444444
{
445445
Cluster cluster = clusterRule.getCluster();
446-
ClusterMember leader = cluster.leader();
447446

448447
FailingConnectionDriverFactory driverFactory = new FailingConnectionDriverFactory();
449448

450-
try ( Driver driver = driverFactory.newInstance( leader.getRoutingUri(), clusterRule.getDefaultAuthToken(),
449+
try ( Driver driver = driverFactory.newInstance( cluster.getRoutingUri(), clusterRule.getDefaultAuthToken(),
451450
RoutingSettings.DEFAULT, RetrySettings.DEFAULT, configWithoutLogging(), SecurityPlanImpl.insecure() ) )
452451
{
453452
Session session1 = driver.session();
@@ -486,10 +485,9 @@ RoutingSettings.DEFAULT, RetrySettings.DEFAULT, configWithoutLogging(), Security
486485
void shouldRediscoverWhenConnectionsToAllCoresBreak()
487486
{
488487
Cluster cluster = clusterRule.getCluster();
489-
ClusterMember leader = cluster.leader();
490488

491489
ChannelTrackingDriverFactory driverFactory = new ChannelTrackingDriverFactory();
492-
try ( Driver driver = driverFactory.newInstance( leader.getRoutingUri(), clusterRule.getDefaultAuthToken(),
490+
try ( Driver driver = driverFactory.newInstance( cluster.getRoutingUri(), clusterRule.getDefaultAuthToken(),
493491
RoutingSettings.DEFAULT, RetrySettings.DEFAULT, configWithoutLogging(), SecurityPlanImpl.insecure() ) )
494492
{
495493
String database = "neo4j";
@@ -556,7 +554,7 @@ void shouldKeepOperatingWhenConnectionsBreak() throws Exception
556554
.withMaxTransactionRetryTime( testRunTimeMs, MILLISECONDS )
557555
.build();
558556

559-
try ( Driver driver = driverFactory.newInstance( cluster.leader().getRoutingUri(), clusterRule.getDefaultAuthToken(),
557+
try ( Driver driver = driverFactory.newInstance( cluster.getRoutingUri(), clusterRule.getDefaultAuthToken(),
560558
RoutingSettings.DEFAULT, RetrySettings.DEFAULT, config, SecurityPlanImpl.insecure() ) )
561559
{
562560
List<Future<?>> results = new ArrayList<>();

driver/src/test/java/org/neo4j/driver/util/cc/Cluster.java

+6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.neo4j.driver.util.cc;
2020

2121
import java.io.FileNotFoundException;
22+
import java.net.URI;
2223
import java.nio.file.Path;
2324
import java.util.HashSet;
2425
import java.util.Map;
@@ -66,6 +67,11 @@ Cluster withMembers( Set<ClusterMember> newMembers ) throws ClusterUnavailableEx
6667
return new Cluster( path, newMembers, clusterDrivers );
6768
}
6869

70+
public URI getRoutingUri()
71+
{
72+
return randomOf( cores() ).getRoutingUri();
73+
}
74+
6975
public Path getPath()
7076
{
7177
return path;

driver/src/test/java/org/neo4j/driver/util/cc/LocalOrRemoteClusterExtension.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void beforeAll( ExtensionContext context ) throws Exception
7171
{
7272
localClusterExtension = new ClusterExtension();
7373
localClusterExtension.beforeAll( context );
74-
clusterUri = localClusterExtension.getCluster().leader().getRoutingUri();
74+
clusterUri = localClusterExtension.getCluster().getRoutingUri();
7575
}
7676
}
7777

driver/src/test/java/org/neo4j/driver/util/cc/SharedCluster.java

-14
Original file line numberDiff line numberDiff line change
@@ -101,27 +101,13 @@ static void stop()
101101
debug( "Cluster at `%s` stopped.", clusterInstance.getPath() );
102102
}
103103

104-
static void stop( ClusterMember member )
105-
{
106-
assertClusterExists();
107-
ClusterControl.stopClusterMember( member.getPath() );
108-
debug( "Cluster member at `%s` stopped.", member.getPath() );
109-
}
110-
111104
static void kill()
112105
{
113106
assertClusterExists();
114107
ClusterControl.killCluster( clusterInstance.getPath() );
115108
debug( "Cluster at `%s` killed.", clusterInstance.getPath() );
116109
}
117110

118-
static void kill( ClusterMember member )
119-
{
120-
assertClusterExists();
121-
ClusterControl.killClusterMember( member.getPath() );
122-
debug( "Cluster member at `%s` killed.", member.getPath() );
123-
}
124-
125111
private static Set<ClusterMember> parseStartCommandOutput( String output )
126112
{
127113
Set<ClusterMember> result = new HashSet<>();

examples/src/test/java/org/neo4j/docs/driver/RoutingExamplesIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class RoutingExamplesIT
3737
void testShouldRunConfigCustomResolverExample() throws Exception
3838
{
3939
// Given
40-
URI uri = neo4j.getCluster().leader().getRoutingUri();
40+
URI uri = neo4j.getCluster().getRoutingUri();
4141
try ( ConfigCustomResolverExample example = new ConfigCustomResolverExample( "neo4j://x.example.com", neo4j.getDefaultAuthToken(),
4242
ServerAddress.of( uri.getHost(), uri.getPort() ) ) )
4343
{

0 commit comments

Comments
 (0)