Skip to content

Commit 8a0fed5

Browse files
author
Zhen Li
committed
Added a stub test
1 parent afdd61b commit 8a0fed5

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

driver/src/test/java/org/neo4j/driver/v1/integration/SessionBoltV3IT.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@
2626
import java.util.Map;
2727
import java.util.concurrent.CompletionStage;
2828

29+
import org.neo4j.driver.internal.logging.DevNullLogging;
2930
import org.neo4j.driver.internal.util.EnabledOnNeo4jWith;
31+
import org.neo4j.driver.v1.AuthTokens;
32+
import org.neo4j.driver.v1.Config;
33+
import org.neo4j.driver.v1.Driver;
34+
import org.neo4j.driver.v1.GraphDatabase;
3035
import org.neo4j.driver.v1.Session;
3136
import org.neo4j.driver.v1.StatementResult;
3237
import org.neo4j.driver.v1.StatementResultCursor;
@@ -35,9 +40,11 @@
3540
import org.neo4j.driver.v1.exceptions.TransientException;
3641
import org.neo4j.driver.v1.summary.ResultSummary;
3742
import org.neo4j.driver.v1.util.SessionExtension;
43+
import org.neo4j.driver.v1.util.StubServer;
3844

3945
import static java.time.Duration.ofMillis;
4046
import static java.util.Arrays.asList;
47+
import static java.util.Collections.singletonMap;
4148
import static org.hamcrest.MatcherAssert.assertThat;
4249
import static org.hamcrest.Matchers.containsString;
4350
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -249,6 +256,26 @@ void shouldUseBookmarksForAutoCommitTransactionsAndTransactionFunctions()
249256
assertNotEquals( bookmark2, bookmark3 );
250257
}
251258

259+
@Test
260+
void shouldSendGoodbyeWhenClosingDriver() throws Throwable
261+
{
262+
StubServer server = StubServer.start( "goodbye_message.script", 9001 );
263+
try
264+
{
265+
Config config = Config.build().withLogging( DevNullLogging.DEV_NULL_LOGGING ).withoutEncryption().toConfig();
266+
try ( Driver driver = GraphDatabase.driver( "bolt://localhost:9001", AuthTokens.none(), config ); Session session = driver.session() )
267+
{
268+
StatementResult result =
269+
session.run( "RETURN $x", singletonMap( "x", 1 ), TransactionConfig.builder().withMetadata( singletonMap( "mode", "r" ) ).build() );
270+
assertEquals( 1, result.single().get( "x" ).asInt() );
271+
}
272+
}
273+
finally
274+
{
275+
assertEquals( 0, server.exitStatus() );
276+
}
277+
}
278+
252279
private static void testTransactionMetadataWithTransactionFunctions( boolean read )
253280
{
254281
Map<String,Object> metadata = new HashMap<>();
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
!: BOLT 3
2+
!: AUTO RESET
3+
4+
C: HELLO {"scheme": "none", "user_agent": "neo4j-java/dev"}
5+
S: SUCCESS {"server": "Neo4j/9.9.9"}
6+
C: RUN "RETURN $x" {"x": 1} {"tx_metadata": {"mode": "r"}}
7+
PULL_ALL
8+
S: SUCCESS {"fields": ["x"]}
9+
RECORD [1]
10+
SUCCESS {"bookmark": "bookmark:1"}
11+
C: GOODBYE
12+
S: SUCCESS {}

0 commit comments

Comments
 (0)