diff --git a/driver/src/test/java/org/neo4j/driver/integration/NestedQueries.java b/driver/src/test/java/org/neo4j/driver/integration/NestedQueries.java deleted file mode 100644 index 3d1648e50e..0000000000 --- a/driver/src/test/java/org/neo4j/driver/integration/NestedQueries.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) "Neo4j" - * Neo4j Sweden AB [http://neo4j.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.integration; - -import org.junit.jupiter.api.Test; - -import java.util.List; - -import org.neo4j.driver.AccessMode; -import org.neo4j.driver.Record; -import org.neo4j.driver.Session; -import org.neo4j.driver.Result; -import org.neo4j.driver.QueryRunner; -import org.neo4j.driver.Transaction; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; - -public interface NestedQueries -{ - String OUTER_QUERY = "UNWIND range(1, 10000) AS x RETURN x"; - String INNER_QUERY = "UNWIND range(1, 10) AS y RETURN y"; - int EXPECTED_RECORDS = 10_000 * 10 + 10_000; - - Session newSession( AccessMode mode ); - - @Test - default void shouldAllowNestedQueriesInTransactionConsumedAsIterators() throws Exception - { - try ( Session session = newSession( AccessMode.READ ); Transaction tx = session.beginTransaction() ) - { - testNestedQueriesConsumedAsIterators( tx ); - tx.commit(); - } - } - - @Test - default void shouldAllowNestedQueriesInTransactionConsumedAsLists() throws Exception - { - try ( Session session = newSession( AccessMode.READ ); Transaction tx = session.beginTransaction() ) - { - testNestedQueriesConsumedAsLists( tx ); - tx.commit(); - } - } - - @Test - default void shouldAllowNestedQueriesInTransactionConsumedAsIteratorAndList() throws Exception - { - try ( Session session = newSession( AccessMode.READ ); Transaction tx = session.beginTransaction() ) - { - testNestedQueriesConsumedAsIteratorAndList( tx ); - tx.commit(); - } - } - - @Test - default void shouldAllowNestedQueriesInSessionConsumedAsIterators() throws Exception - { - try ( Session session = newSession( AccessMode.READ ) ) - { - testNestedQueriesConsumedAsIterators( session ); - } - } - - @Test - default void shouldAllowNestedQueriesInSessionConsumedAsLists() throws Exception - { - try ( Session session = newSession( AccessMode.READ ) ) - { - testNestedQueriesConsumedAsLists( session ); - } - } - - @Test - default void shouldAllowNestedQueriesInSessionConsumedAsIteratorAndList() throws Exception - { - try ( Session session = newSession( AccessMode.READ ) ) - { - testNestedQueriesConsumedAsIteratorAndList( session ); - } - } - - default void testNestedQueriesConsumedAsIterators( QueryRunner queryRunner) throws Exception - { - int recordsSeen = 0; - - Result result1 = queryRunner.run( OUTER_QUERY ); - Thread.sleep( 1000 ); // allow some result records to arrive and be buffered - - while ( result1.hasNext() ) - { - Record record1 = result1.next(); - assertFalse( record1.get( "x" ).isNull() ); - recordsSeen++; - - Result result2 = queryRunner.run( INNER_QUERY ); - while ( result2.hasNext() ) - { - Record record2 = result2.next(); - assertFalse( record2.get( "y" ).isNull() ); - recordsSeen++; - } - } - - assertEquals( EXPECTED_RECORDS, recordsSeen ); - } - - default void testNestedQueriesConsumedAsLists( QueryRunner queryRunner) throws Exception - { - int recordsSeen = 0; - - Result result1 = queryRunner.run( OUTER_QUERY ); - Thread.sleep( 1000 ); // allow some result records to arrive and be buffered - - List records1 = result1.list(); - for ( Record record1 : records1 ) - { - assertFalse( record1.get( "x" ).isNull() ); - recordsSeen++; - - Result result2 = queryRunner.run( "UNWIND range(1, 10) AS y RETURN y" ); - List records2 = result2.list(); - for ( Record record2 : records2 ) - { - assertFalse( record2.get( "y" ).isNull() ); - recordsSeen++; - } - } - - assertEquals( EXPECTED_RECORDS, recordsSeen ); - } - - default void testNestedQueriesConsumedAsIteratorAndList( QueryRunner queryRunner) throws Exception - { - int recordsSeen = 0; - - Result result1 = queryRunner.run( OUTER_QUERY ); - Thread.sleep( 1000 ); // allow some result records to arrive and be buffered - - while ( result1.hasNext() ) - { - Record record1 = result1.next(); - assertFalse( record1.get( "x" ).isNull() ); - recordsSeen++; - - Result result2 = queryRunner.run( "UNWIND range(1, 10) AS y RETURN y" ); - List records2 = result2.list(); - for ( Record record2 : records2 ) - { - assertFalse( record2.get( "y" ).isNull() ); - recordsSeen++; - } - } - - assertEquals( EXPECTED_RECORDS, recordsSeen ); - } -} diff --git a/driver/src/test/java/org/neo4j/driver/integration/NestedQueriesIT.java b/driver/src/test/java/org/neo4j/driver/integration/NestedQueriesIT.java deleted file mode 100644 index 186b9874d4..0000000000 --- a/driver/src/test/java/org/neo4j/driver/integration/NestedQueriesIT.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) "Neo4j" - * Neo4j Sweden AB [http://neo4j.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.integration; - -import org.junit.jupiter.api.extension.RegisterExtension; - -import org.neo4j.driver.AccessMode; -import org.neo4j.driver.Session; -import org.neo4j.driver.util.DatabaseExtension; -import org.neo4j.driver.util.ParallelizableIT; - -import static org.neo4j.driver.SessionConfig.builder; - -@ParallelizableIT -public class NestedQueriesIT implements NestedQueries -{ - @RegisterExtension - static final DatabaseExtension server = new DatabaseExtension(); - - @Override - public Session newSession( AccessMode mode ) - { - return server.driver().session( builder().withDefaultAccessMode( mode ).build() ); - } -} diff --git a/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java b/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java deleted file mode 100644 index 50edaa90f2..0000000000 --- a/driver/src/test/java/org/neo4j/driver/stress/CausalClusteringIT.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) "Neo4j" - * Neo4j Sweden AB [http://neo4j.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.stress; - -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.extension.RegisterExtension; - -import java.net.URI; - -import org.neo4j.driver.AccessMode; -import org.neo4j.driver.Config; -import org.neo4j.driver.Driver; -import org.neo4j.driver.GraphDatabase; -import org.neo4j.driver.Session; -import org.neo4j.driver.integration.NestedQueries; -import org.neo4j.driver.util.cc.ClusterExtension; - -import static org.neo4j.driver.Logging.none; -import static org.neo4j.driver.SessionConfig.builder; - -public class CausalClusteringIT implements NestedQueries -{ - @RegisterExtension - static final ClusterExtension clusterRule = new ClusterExtension(); - - private Driver driver; - - @Override - public Session newSession( AccessMode mode ) - { - if ( driver == null ) - { - driver = createDriver( clusterRule.getCluster().getRoutingUri() ); - } - - return driver.session( builder().withDefaultAccessMode( mode ).build() ); - } - - @AfterEach - void tearDown() - { - if ( driver != null ) - { - driver.close(); - } - } - - private Driver createDriver( URI boltUri ) - { - return createDriver( boltUri, configWithoutLogging() ); - } - - private Driver createDriver( URI boltUri, Config config ) - { - return GraphDatabase.driver( boltUri, clusterRule.getDefaultAuthToken(), config ); - } - - private static Config configWithoutLogging() - { - return Config.builder().withLogging( none() ).build(); - } -} diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java index feeb56e80d..7379cefa10 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java @@ -117,7 +117,6 @@ public TestkitResponse process( TestkitState testkitState ) Optional.ofNullable( data.connectionAcquisitionTimeoutMs ) .ifPresent( timeout -> configBuilder.withConnectionAcquisitionTimeout( timeout, TimeUnit.MILLISECONDS ) ); configBuilder.withDriverMetrics(); -// configBuilder.withLogging( Logging.console( Level.FINE ) ); org.neo4j.driver.Driver driver; Config config = configBuilder.build(); try diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/StartTest.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/StartTest.java index 96afaa1b36..374bd6a390 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/StartTest.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/StartTest.java @@ -97,17 +97,19 @@ public class StartTest implements TestkitRequest REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestRoutingConnectionRecvTimeout\\.test_timeout_managed_tx_retry$", skipMessage ); REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestTxRun\\.test_broken_transaction_should_not_break_session$", skipMessage ); REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestTxRun\\.test_does_not_update_last_bookmark_on_failure$", skipMessage ); - skipMessage = "Does not support multiple concurrent result streams on session level"; - REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestSessionRun\\.test_iteration_nested$", skipMessage ); - REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestSessionRun\\.test_partial_iteration$", skipMessage ); skipMessage = "The expects run failure to be reported immediately on run method"; REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.Routing[^.]+\\.test_should_fail_when_writing_on_unexpectedly_interrupting_writer_on_run_using_tx_run$", skipMessage ); + skipMessage = "Does not support multiple concurrent result streams on session level"; + REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestSessionRun\\.test_iteration_nested$", skipMessage ); + REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestSessionRun\\.test_partial_iteration$", skipMessage ); + REACTIVE_LEGACY_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestIterationSessionRun\\.test_nested$", skipMessage ); REACTIVE_SKIP_PATTERN_TO_REASON.putAll( COMMON_SKIP_PATTERN_TO_REASON ); REACTIVE_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestSessionRun\\.test_iteration_nested$", skipMessage ); REACTIVE_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestSessionRun\\.test_partial_iteration$", skipMessage ); + REACTIVE_SKIP_PATTERN_TO_REASON.put( "^.*\\.TestIterationSessionRun\\.test_nested$", skipMessage ); } private StartTestBody data;