From 6f851576e7be937f09d77da1d52c3f80b0150d5c Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov Date: Wed, 1 Dec 2021 17:24:14 +0000 Subject: [PATCH] Migrate Java IT test to Testkit The following IT test has been replaced by stub test: - `CausalClusteringIT.shouldAllowExistingTransactionToCompleteAfterDifferentConnectionBreaks` -> `Routing.test_should_succeed_when_another_conn_fails_and_discover_using_tx_run` --- .../driver/stress/CausalClusteringIT.java | 49 ------------------- 1 file changed, 49 deletions(-) diff --git a/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java b/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java index cd0bfe1735..b6abe085fb 100644 --- a/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java +++ b/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java @@ -59,7 +59,6 @@ import org.neo4j.driver.internal.cluster.RoutingSettings; import org.neo4j.driver.internal.retry.RetrySettings; import org.neo4j.driver.internal.security.SecurityPlanImpl; -import org.neo4j.driver.internal.util.FailingConnectionDriverFactory; import org.neo4j.driver.internal.util.FakeClock; import org.neo4j.driver.internal.util.ThrowingMessageEncoder; import org.neo4j.driver.internal.util.io.ChannelTrackingDriverFactory; @@ -430,48 +429,6 @@ void shouldRespectMaxConnectionPoolSizePerClusterMember() } } - @Test - void shouldAllowExistingTransactionToCompleteAfterDifferentConnectionBreaks() - { - Cluster cluster = clusterRule.getCluster(); - - FailingConnectionDriverFactory driverFactory = new FailingConnectionDriverFactory(); - - try ( Driver driver = driverFactory.newInstance( cluster.getRoutingUri(), clusterRule.getDefaultAuthToken(), - RoutingSettings.DEFAULT, RetrySettings.DEFAULT, configWithoutLogging(), SecurityPlanImpl.insecure() ) ) - { - Session session1 = driver.session(); - Transaction tx1 = session1.beginTransaction(); - tx1.run( "CREATE (n:Node1 {name: 'Node1'})" ).consume(); - - Session session2 = driver.session(); - Transaction tx2 = session2.beginTransaction(); - tx2.run( "CREATE (n:Node2 {name: 'Node2'})" ).consume(); - - ServiceUnavailableException error = new ServiceUnavailableException( "Connection broke!" ); - driverFactory.setNextRunFailure( error ); - assertUnableToRunMoreQueriesInTx( tx2, error ); - - tx2.close(); - tx1.commit(); - - try ( Session session3 = driver.session( builder().withBookmarks( session1.lastBookmark() ).build() ) ) - { - // tx1 should not be terminated and should commit successfully - assertEquals( 1, countNodes( session3, "Node1", "name", "Node1" ) ); - // tx2 should not commit because of a connection failure - assertEquals( 0, countNodes( session3, "Node2", "name", "Node2" ) ); - } - - // rediscovery should happen for the new write query - Bookmark session4Bookmark = createNodeAndGetBookmark( driver.session(), "Node3", "name", "Node3" ); - try ( Session session5 = driver.session( builder().withBookmarks( session4Bookmark ).build() ) ) - { - assertEquals( 1, countNodes( session5, "Node3", "name", "Node3" ) ); - } - } - } - @Test void shouldKeepOperatingWhenConnectionsBreak() throws Exception { @@ -530,12 +487,6 @@ private void assertRoutingNotAvailableOnReadReplica() assumeFalse( driver.supportsMultiDb() ); } - private static void assertUnableToRunMoreQueriesInTx(Transaction tx, ServiceUnavailableException cause ) - { - SessionExpiredException e = assertThrows( SessionExpiredException.class, () -> tx.run( "CREATE (n:Node3 {name: 'Node3'})" ).consume() ); - assertEquals( cause, e.getCause() ); - } - private CompletionStage> combineCursors( ResultCursor cursor1, ResultCursor cursor2 ) {