From 4a9dbd939572df25a54c3c86c96027772da0a183 Mon Sep 17 00:00:00 2001 From: Zhen Date: Mon, 20 Mar 2017 20:43:43 +0100 Subject: [PATCH 1/2] Fix routing context requirement --- .../driver/internal/cluster/RoutingSettings.java | 2 +- .../src/main/java/org/neo4j/driver/v1/Config.java | 7 ++++--- .../driver/v1/integration/CausalClusteringIT.java | 13 +++++++++++-- .../driver/v1/stress/CausalClusteringStressIT.java | 4 +++- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java index defa237c22..30a8500385 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java @@ -29,7 +29,7 @@ public class RoutingSettings final long retryTimeoutDelay; final Value routingParameters; - public RoutingSettings( int maxRoutingFailures, long retryTimeoutDelay, Map routingParameters ) + public RoutingSettings( int maxRoutingFailures, long retryTimeoutDelay, Map routingParameters ) { this.maxRoutingFailures = maxRoutingFailures; this.retryTimeoutDelay = retryTimeoutDelay; diff --git a/driver/src/main/java/org/neo4j/driver/v1/Config.java b/driver/src/main/java/org/neo4j/driver/v1/Config.java index 72dab7d313..9cbd5cf2d4 100644 --- a/driver/src/main/java/org/neo4j/driver/v1/Config.java +++ b/driver/src/main/java/org/neo4j/driver/v1/Config.java @@ -33,6 +33,7 @@ import org.neo4j.driver.v1.util.Immutable; import org.neo4j.driver.v1.util.Resource; +import static java.util.Collections.emptyMap; import static org.neo4j.driver.v1.Config.TrustStrategy.trustAllCertificates; /** @@ -75,7 +76,7 @@ public class Config private final int connectionTimeoutMillis; private final RetrySettings retrySettings; - private final Map routingContext; + private final Map routingContext; private Config( ConfigBuilder builder) { @@ -210,7 +211,7 @@ public static class ConfigBuilder private long routingRetryDelayMillis = TimeUnit.SECONDS.toMillis( 5 ); private int connectionTimeoutMillis = (int) TimeUnit.SECONDS.toMillis( 5 ); private RetrySettings retrySettings = RetrySettings.DEFAULT; - private Map routingContext = null; + private Map routingContext = emptyMap(); private ConfigBuilder() {} @@ -488,7 +489,7 @@ public ConfigBuilder withMaxTransactionRetryTime( long value, TimeUnit unit ) * @since 1.3 * @return this builder */ - public ConfigBuilder withRoutingContext( Map context ) + public ConfigBuilder withRoutingContext( Map context ) { this.routingContext = context; return this; diff --git a/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java b/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java index 57ba1c03ed..f767b7e449 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java @@ -22,7 +22,9 @@ import org.junit.Test; import java.net.URI; +import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -106,7 +108,7 @@ public void sessionCreationShouldFailIfCallingDiscoveryProcedureOnEdgeServer() t catch ( ServiceUnavailableException ex ) { assertThat( ex.getMessage(), containsString( - "Failed to run 'Statement{text='CALL dbms.cluster.routing.getServers', parameters={}}' on server." ) ); + "Failed to run 'Statement{text='CALL dbms.cluster.routing" ) ); } } @@ -219,7 +221,8 @@ public void shouldDropBrokenOldSessions() throws Exception URI routingUri = cluster.leader().getRoutingUri(); AuthToken auth = clusterRule.getDefaultAuthToken(); - RoutingSettings routingSettings = new RoutingSettings( 1, TimeUnit.SECONDS.toMillis( 5 ), null ); + RoutingSettings routingSettings = new RoutingSettings( 1, + TimeUnit.SECONDS.toMillis( 5 ), emptyRoutingContext() ); RetrySettings retrySettings = RetrySettings.DEFAULT; try ( Driver driver = driverFactory.newInstance( routingUri, auth, routingSettings, retrySettings, config ) ) @@ -425,11 +428,17 @@ public Logger getLog( String name ) Config config = Config.build() .withLogging( devNullLogging ) + .withRoutingContext( emptyRoutingContext() ) .toConfig(); return GraphDatabase.driver( boltUri, clusterRule.getDefaultAuthToken(), config ); } + public static Map emptyRoutingContext() + { + return Collections.singletonMap( "context", (Object)Collections.emptyMap() ); + } + private static void createNodesInDifferentThreads( int count, final Driver driver ) throws Exception { final CountDownLatch beforeRunLatch = new CountDownLatch( count ); diff --git a/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java b/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java index 001062900a..4091bf61c1 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java @@ -52,6 +52,7 @@ import org.neo4j.driver.v1.Transaction; import org.neo4j.driver.v1.exceptions.ClientException; import org.neo4j.driver.v1.exceptions.SecurityException; +import org.neo4j.driver.v1.integration.CausalClusteringIT; import org.neo4j.driver.v1.types.Node; import org.neo4j.driver.v1.util.DaemonThreadFactory; import org.neo4j.driver.v1.util.cc.LocalOrRemoteClusterRule; @@ -480,7 +481,8 @@ public void execute( Context context ) Logger logger = mock( Logger.class ); Logging logging = mock( Logging.class ); when( logging.getLog( anyString() ) ).thenReturn( logger ); - Config config = Config.build().withLogging( logging ).toConfig(); + Config config = Config.build().withLogging( logging ) + .withRoutingContext( CausalClusteringIT.emptyRoutingContext() ).toConfig(); try { From 01e3decc102807ea515e650fa9783d77aab21a9a Mon Sep 17 00:00:00 2001 From: Zhen Date: Mon, 20 Mar 2017 21:54:35 +0100 Subject: [PATCH 2/2] Fix test failing due to missing default routing context --- .../internal/cluster/RoutingSettings.java | 3 ++ .../main/java/org/neo4j/driver/v1/Config.java | 3 +- .../driver/internal/DriverFactoryTest.java | 3 +- .../internal/RoutingDriverBoltKitTest.java | 3 +- .../driver/internal/RoutingDriverTest.java | 3 +- .../internal/cluster/RediscoveryTest.java | 5 +-- .../v1/integration/CausalClusteringIT.java | 13 ++------ .../v1/integration/ConnectionHandlingIT.java | 3 +- .../driver/v1/integration/ServerKilledIT.java | 3 +- .../driver/v1/integration/SessionIT.java | 7 ++-- .../v1/stress/CausalClusteringStressIT.java | 4 +-- .../v1/util/cc/TestRoutingSettings.java | 32 +++++++++++++++++++ 12 files changed, 58 insertions(+), 24 deletions(-) create mode 100644 driver/src/test/java/org/neo4j/driver/v1/util/cc/TestRoutingSettings.java diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java index 30a8500385..ea49e4cb2c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java @@ -23,6 +23,9 @@ import org.neo4j.driver.v1.Value; import org.neo4j.driver.v1.Values; +import static java.util.Collections.emptyMap; +import static java.util.Collections.singletonMap; + public class RoutingSettings { final int maxRoutingFailures; diff --git a/driver/src/main/java/org/neo4j/driver/v1/Config.java b/driver/src/main/java/org/neo4j/driver/v1/Config.java index 9cbd5cf2d4..1c072b108d 100644 --- a/driver/src/main/java/org/neo4j/driver/v1/Config.java +++ b/driver/src/main/java/org/neo4j/driver/v1/Config.java @@ -34,6 +34,7 @@ import org.neo4j.driver.v1.util.Resource; import static java.util.Collections.emptyMap; +import static java.util.Collections.singletonMap; import static org.neo4j.driver.v1.Config.TrustStrategy.trustAllCertificates; /** @@ -211,7 +212,7 @@ public static class ConfigBuilder private long routingRetryDelayMillis = TimeUnit.SECONDS.toMillis( 5 ); private int connectionTimeoutMillis = (int) TimeUnit.SECONDS.toMillis( 5 ); private RetrySettings retrySettings = RetrySettings.DEFAULT; - private Map routingContext = emptyMap(); + private Map routingContext = singletonMap( "context", (Object) emptyMap() ); private ConfigBuilder() {} diff --git a/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java b/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java index a86af9227d..2784b1360d 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java @@ -41,6 +41,7 @@ import org.neo4j.driver.v1.AuthTokens; import org.neo4j.driver.v1.Config; import org.neo4j.driver.v1.Driver; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static org.hamcrest.Matchers.instanceOf; import static org.junit.Assert.assertArrayEquals; @@ -139,7 +140,7 @@ private Driver createDriver( DriverFactory driverFactory ) private Driver createDriver( DriverFactory driverFactory, Config config ) { AuthToken auth = AuthTokens.none(); - RoutingSettings routingSettings = new RoutingSettings( 42, 42, null ); + RoutingSettings routingSettings = new TestRoutingSettings( 42, 42 ); return driverFactory.newInstance( uri, auth, routingSettings, RetrySettings.DEFAULT, config ); } diff --git a/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverBoltKitTest.java b/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverBoltKitTest.java index 086e974b05..3327ed6fa1 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverBoltKitTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverBoltKitTest.java @@ -49,6 +49,7 @@ import org.neo4j.driver.v1.exceptions.SessionExpiredException; import org.neo4j.driver.v1.util.Function; import org.neo4j.driver.v1.util.StubServer; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.core.IsEqual.equalTo; @@ -873,7 +874,7 @@ private static Driver newDriverWithFixedRetries( String uriString, int retries ) private static Driver newDriver( String uriString, DriverFactory driverFactory ) { URI uri = URI.create( uriString ); - RoutingSettings routingConf = new RoutingSettings( 1, 1, null ); + RoutingSettings routingConf = new TestRoutingSettings( 1, 1 ); AuthToken auth = AuthTokens.none(); return driverFactory.newInstance( uri, auth, routingConf, RetrySettings.DEFAULT, config ); } diff --git a/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverTest.java b/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverTest.java index 2f7d7ea05e..a7157f35ba 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/RoutingDriverTest.java @@ -49,6 +49,7 @@ import org.neo4j.driver.v1.exceptions.ClientException; import org.neo4j.driver.v1.exceptions.ProtocolException; import org.neo4j.driver.v1.exceptions.ServiceUnavailableException; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static java.util.Arrays.asList; import static junit.framework.TestCase.fail; @@ -345,7 +346,7 @@ private final Driver driverWithServers( long ttl, Map... serverIn private Driver driverWithPool( ConnectionPool pool ) { - RoutingSettings settings = new RoutingSettings( 10, 5_000, null ); + RoutingSettings settings = new TestRoutingSettings( 10, 5_000 ); ConnectionProvider connectionProvider = new LoadBalancer( SEED, settings, pool, clock, logging ); Config config = Config.build().withLogging( logging ).toConfig(); SessionFactory sessionFactory = new NetworkSessionWithAddressFactory( connectionProvider, config ); diff --git a/driver/src/test/java/org/neo4j/driver/internal/cluster/RediscoveryTest.java b/driver/src/test/java/org/neo4j/driver/internal/cluster/RediscoveryTest.java index 0695f81609..143d612527 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/cluster/RediscoveryTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/cluster/RediscoveryTest.java @@ -36,6 +36,7 @@ import org.neo4j.driver.v1.Logger; import org.neo4j.driver.v1.exceptions.ProtocolException; import org.neo4j.driver.v1.exceptions.ServiceUnavailableException; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static java.util.Arrays.asList; import static org.hamcrest.Matchers.containsString; @@ -84,7 +85,7 @@ public void shouldTryConfiguredMaxRoutingFailures() throws Exception { // given int maxRoutingFailures = 7; - RoutingSettings settings = new RoutingSettings( maxRoutingFailures, 10, null ); + RoutingSettings settings = new TestRoutingSettings( maxRoutingFailures, 10 ); Clock clock = mock( Clock.class ); RoutingTable routingTable = new TestRoutingTable( A ); @@ -450,7 +451,7 @@ private static ClusterComposition rediscover( ConnectionPool connections, Routin private static ClusterComposition rediscover( BoltServerAddress initialRouter, ConnectionPool connections, RoutingTable routingTable, ClusterCompositionProvider provider ) { - RoutingSettings settings = new RoutingSettings( 1, 0, null ); + RoutingSettings settings = new TestRoutingSettings( 1, 0 ); Clock mockedClock = mock( Clock.class ); Logger mockedLogger = mock( Logger.class ); diff --git a/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java b/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java index f767b7e449..2c7f299ba5 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java @@ -22,9 +22,7 @@ import org.junit.Test; import java.net.URI; -import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -56,6 +54,7 @@ import org.neo4j.driver.v1.util.cc.Cluster; import org.neo4j.driver.v1.util.cc.ClusterMember; import org.neo4j.driver.v1.util.cc.ClusterRule; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.instanceOf; @@ -221,8 +220,8 @@ public void shouldDropBrokenOldSessions() throws Exception URI routingUri = cluster.leader().getRoutingUri(); AuthToken auth = clusterRule.getDefaultAuthToken(); - RoutingSettings routingSettings = new RoutingSettings( 1, - TimeUnit.SECONDS.toMillis( 5 ), emptyRoutingContext() ); + RoutingSettings routingSettings = new TestRoutingSettings( 1, + TimeUnit.SECONDS.toMillis( 5 ) ); RetrySettings retrySettings = RetrySettings.DEFAULT; try ( Driver driver = driverFactory.newInstance( routingUri, auth, routingSettings, retrySettings, config ) ) @@ -428,17 +427,11 @@ public Logger getLog( String name ) Config config = Config.build() .withLogging( devNullLogging ) - .withRoutingContext( emptyRoutingContext() ) .toConfig(); return GraphDatabase.driver( boltUri, clusterRule.getDefaultAuthToken(), config ); } - public static Map emptyRoutingContext() - { - return Collections.singletonMap( "context", (Object)Collections.emptyMap() ); - } - private static void createNodesInDifferentThreads( int count, final Driver driver ) throws Exception { final CountDownLatch beforeRunLatch = new CountDownLatch( count ); diff --git a/driver/src/test/java/org/neo4j/driver/v1/integration/ConnectionHandlingIT.java b/driver/src/test/java/org/neo4j/driver/v1/integration/ConnectionHandlingIT.java index 700b157acc..70e8547871 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/integration/ConnectionHandlingIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/integration/ConnectionHandlingIT.java @@ -52,6 +52,7 @@ import org.neo4j.driver.v1.exceptions.ClientException; import org.neo4j.driver.v1.summary.ResultSummary; import org.neo4j.driver.v1.util.TestNeo4j; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static org.hamcrest.Matchers.instanceOf; import static org.junit.Assert.assertEquals; @@ -81,7 +82,7 @@ public void createDriver() { DriverFactoryWithConnector driverFactory = new DriverFactoryWithConnector(); AuthToken auth = AuthTokens.none(); - RoutingSettings routingSettings = new RoutingSettings( 1, 1, null ); + RoutingSettings routingSettings = new TestRoutingSettings( 1, 1 ); RetrySettings retrySettings = RetrySettings.DEFAULT; driver = driverFactory.newInstance( neo4j.uri(), auth, routingSettings, retrySettings, defaultConfig() ); connectionPool = driverFactory.connectionPool; diff --git a/driver/src/test/java/org/neo4j/driver/v1/integration/ServerKilledIT.java b/driver/src/test/java/org/neo4j/driver/v1/integration/ServerKilledIT.java index b59732e68e..96ed75c8da 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/integration/ServerKilledIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/integration/ServerKilledIT.java @@ -45,6 +45,7 @@ import org.neo4j.driver.v1.exceptions.ServiceUnavailableException; import org.neo4j.driver.v1.util.Neo4jRunner; import org.neo4j.driver.v1.util.TestNeo4j; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -159,7 +160,7 @@ private static Driver createDriver( Clock clock, Config config ) { DriverFactory factory = new DriverFactoryWithClock( clock ); AuthToken auth = AuthTokens.none(); - RoutingSettings routingSettings = new RoutingSettings( 1, 1, null ); + RoutingSettings routingSettings = new TestRoutingSettings( 1, 1 ); RetrySettings retrySettings = RetrySettings.DEFAULT; return factory.newInstance( Neo4jRunner.DEFAULT_URI, auth, routingSettings, retrySettings, config ); } diff --git a/driver/src/test/java/org/neo4j/driver/v1/integration/SessionIT.java b/driver/src/test/java/org/neo4j/driver/v1/integration/SessionIT.java index 8943b9a811..80cecd95c2 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/integration/SessionIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/integration/SessionIT.java @@ -31,6 +31,7 @@ import org.neo4j.driver.internal.cluster.RoutingSettings; import org.neo4j.driver.internal.retry.RetrySettings; import org.neo4j.driver.internal.util.DriverFactoryWithFixedRetryLogic; +import org.neo4j.driver.internal.util.ServerVersion; import org.neo4j.driver.v1.AccessMode; import org.neo4j.driver.v1.AuthToken; import org.neo4j.driver.v1.AuthTokens; @@ -44,8 +45,8 @@ import org.neo4j.driver.v1.exceptions.ClientException; import org.neo4j.driver.v1.exceptions.Neo4jException; import org.neo4j.driver.v1.exceptions.ServiceUnavailableException; -import org.neo4j.driver.internal.util.ServerVersion; import org.neo4j.driver.v1.util.TestNeo4j; +import org.neo4j.driver.v1.util.cc.TestRoutingSettings; import static java.lang.String.format; import static org.hamcrest.CoreMatchers.containsString; @@ -67,9 +68,9 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import static org.neo4j.driver.internal.util.ServerVersion.v3_1_0; import static org.neo4j.driver.v1.Config.defaultConfig; import static org.neo4j.driver.v1.Values.parameters; -import static org.neo4j.driver.internal.util.ServerVersion.v3_1_0; public class SessionIT { @@ -956,7 +957,7 @@ private Driver newDriverWithoutRetries() private Driver newDriverWithFixedRetries( int maxRetriesCount ) { DriverFactory driverFactory = new DriverFactoryWithFixedRetryLogic( maxRetriesCount ); - RoutingSettings routingConf = new RoutingSettings( 1, 1, null ); + RoutingSettings routingConf = new TestRoutingSettings( 1, 1 ); AuthToken auth = AuthTokens.none(); return driverFactory.newInstance( neo4j.uri(), auth, routingConf, RetrySettings.DEFAULT, defaultConfig() ); } diff --git a/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java b/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java index 4091bf61c1..001062900a 100644 --- a/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java +++ b/driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java @@ -52,7 +52,6 @@ import org.neo4j.driver.v1.Transaction; import org.neo4j.driver.v1.exceptions.ClientException; import org.neo4j.driver.v1.exceptions.SecurityException; -import org.neo4j.driver.v1.integration.CausalClusteringIT; import org.neo4j.driver.v1.types.Node; import org.neo4j.driver.v1.util.DaemonThreadFactory; import org.neo4j.driver.v1.util.cc.LocalOrRemoteClusterRule; @@ -481,8 +480,7 @@ public void execute( Context context ) Logger logger = mock( Logger.class ); Logging logging = mock( Logging.class ); when( logging.getLog( anyString() ) ).thenReturn( logger ); - Config config = Config.build().withLogging( logging ) - .withRoutingContext( CausalClusteringIT.emptyRoutingContext() ).toConfig(); + Config config = Config.build().withLogging( logging ).toConfig(); try { diff --git a/driver/src/test/java/org/neo4j/driver/v1/util/cc/TestRoutingSettings.java b/driver/src/test/java/org/neo4j/driver/v1/util/cc/TestRoutingSettings.java new file mode 100644 index 0000000000..7fcd1d4828 --- /dev/null +++ b/driver/src/test/java/org/neo4j/driver/v1/util/cc/TestRoutingSettings.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2002-2017 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * This file is part of Neo4j. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.neo4j.driver.v1.util.cc; + +import org.neo4j.driver.internal.cluster.RoutingSettings; + +import static java.util.Collections.emptyMap; +import static java.util.Collections.singletonMap; + +public class TestRoutingSettings extends RoutingSettings +{ + public TestRoutingSettings( int maxRoutingFailures, long retryTimeoutDelay ) + { + super( maxRoutingFailures, retryTimeoutDelay, singletonMap( "context", (Object) emptyMap() ) ); + } +}