diff --git a/pom.xml b/pom.xml
index ab66976dd..4da593feb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,7 +98,7 @@
${java.version}
${java.version}
2.23.4
- 2.0.0-alpha02
+ 2.0.0-alpha03
3.5.2
UTF-8
1.2.1
diff --git a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultNeo4jClient.java b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultNeo4jClient.java
index 72d964b32..9518de531 100644
--- a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultNeo4jClient.java
+++ b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultNeo4jClient.java
@@ -72,7 +72,7 @@ class DefaultNeo4jClient implements Neo4jClient {
StatementRunner statementRunner = retrieveTransaction(driver, targetDatabase)
.map(StatementRunner.class::cast)
- .orElseGet(() -> driver.session(defaultSessionParameters(targetDatabase)));
+ .orElseGet(() -> driver.session(defaultSessionConfig(targetDatabase)));
return (AutoCloseableStatementRunner) Proxy.newProxyInstance(StatementRunner.class.getClassLoader(),
new Class>[] { AutoCloseableStatementRunner.class },
diff --git a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultReactiveNeo4jClient.java b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultReactiveNeo4jClient.java
index 02b58f911..bf85b11c7 100644
--- a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultReactiveNeo4jClient.java
+++ b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/DefaultReactiveNeo4jClient.java
@@ -69,7 +69,7 @@ class DefaultReactiveNeo4jClient implements ReactiveNeo4jClient {
return retrieveReactiveTransaction(driver, targetDatabase)
.map(rxTransaction -> new RxStatementRunnerHolder(rxTransaction, Mono.empty(), Mono.empty())) //
.switchIfEmpty(
- Mono.using(() -> driver.rxSession(defaultSessionParameters(targetDatabase)),
+ Mono.using(() -> driver.rxSession(defaultSessionConfig(targetDatabase)),
session -> Mono.from(session.beginTransaction())
.map(tx -> new RxStatementRunnerHolder(tx, tx.commit(), tx.rollback())), RxSession::close)
);
diff --git a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManager.java b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManager.java
index 7f9bc2bfd..9d4567fe7 100644
--- a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManager.java
+++ b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManager.java
@@ -25,7 +25,6 @@ import java.util.List;
import java.util.Optional;
import org.apiguardian.api.API;
-import org.neo4j.driver.AccessMode;
import org.neo4j.driver.Driver;
import org.neo4j.driver.Session;
import org.neo4j.driver.Transaction;
@@ -96,7 +95,7 @@ public class Neo4jTransactionManager extends AbstractPlatformTransactionManager
}
// Otherwise we open a session and synchronize it.
- Session session = driver.session(defaultSessionParameters(targetDatabase));
+ Session session = driver.session(defaultSessionConfig(targetDatabase));
Transaction transaction = session.beginTransaction(TransactionConfig.empty());
// Manually create a new synchronization
connectionHolder = new Neo4jTransactionHolder(targetDatabase, session, transaction);
@@ -144,14 +143,13 @@ public class Neo4jTransactionManager extends AbstractPlatformTransactionManager
TransactionConfig transactionConfig = createTransactionConfigFrom(definition);
boolean readOnly = definition.isReadOnly();
- AccessMode accessMode = readOnly ? AccessMode.READ : AccessMode.WRITE;
- List bookmarks = Collections.emptyList(); // TODO Bookmarksupport
+
TransactionSynchronizationManager.setCurrentTransactionReadOnly(readOnly);
try {
- Session session = this.driver
- .session(t -> t.withDefaultAccessMode(accessMode).withBookmarks(bookmarks).withDatabase(databaseName));
+ List bookmarks = Collections.emptyList(); // TODO Bookmarksupport;
+ Session session = this.driver.session(sessionConfig(readOnly, bookmarks, databaseName));
Transaction nativeTransaction = session.beginTransaction(transactionConfig);
Neo4jTransactionHolder transactionHolder =
diff --git a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionUtils.java b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionUtils.java
index c99ecc7a4..8fa0bfe71 100644
--- a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionUtils.java
+++ b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionUtils.java
@@ -20,11 +20,11 @@ package org.neo4j.springframework.data.core.transaction;
import java.time.Duration;
import java.util.Collections;
-import java.util.function.Consumer;
+import java.util.List;
import org.neo4j.driver.AccessMode;
-import org.neo4j.driver.SessionParametersTemplate;
import org.neo4j.driver.TransactionConfig;
+import org.neo4j.driver.internal.SessionConfig;
import org.springframework.lang.Nullable;
import org.springframework.transaction.IllegalTransactionStateException;
import org.springframework.transaction.InvalidIsolationLevelException;
@@ -43,15 +43,21 @@ public final class Neo4jTransactionUtils {
* @param databaseName The database to use. May be null, which then designates the default database.
* @return Session parameters to configure the default session used
*/
- public static Consumer defaultSessionParameters(@Nullable String databaseName) {
- return (SessionParametersTemplate t) -> {
- t.withDefaultAccessMode(AccessMode.WRITE)
- .withBookmarks(Collections.EMPTY_LIST);
+ public static SessionConfig defaultSessionConfig(@Nullable String databaseName) {
+ return sessionConfig(false, Collections.emptyList(), databaseName);
+ }
- if (databaseName != null) {
- t.withDatabase(databaseName);
- }
- };
+ public static SessionConfig sessionConfig(boolean readOnly, List bookmarks,
+ @Nullable String databaseName) {
+ SessionConfig.Builder builder = SessionConfig.builder()
+ .withDefaultAccessMode(readOnly ? AccessMode.READ : AccessMode.WRITE)
+ .withBookmarks(bookmarks);
+
+ if (databaseName != null) {
+ builder.withDatabase(databaseName);
+ }
+
+ return builder.build();
}
/**
diff --git a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManager.java b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManager.java
index 84618de65..83b4651c4 100644
--- a/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManager.java
+++ b/spring-data-neo4j/src/main/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManager.java
@@ -26,7 +26,6 @@ import java.util.Collections;
import java.util.List;
import org.apiguardian.api.API;
-import org.neo4j.driver.AccessMode;
import org.neo4j.driver.Driver;
import org.neo4j.driver.TransactionConfig;
import org.neo4j.driver.reactive.RxSession;
@@ -85,7 +84,7 @@ public class ReactiveNeo4jTransactionManager extends AbstractReactiveTransaction
// Otherwise open up a new native transaction
return Mono.defer(() -> {
- RxSession session = driver.rxSession(defaultSessionParameters(targetDatabase));
+ RxSession session = driver.rxSession(defaultSessionConfig(targetDatabase));
return Mono.from(session.beginTransaction(TransactionConfig.empty())).map(tx -> {
ReactiveNeo4jTransactionHolder newConnectionHolder = new ReactiveNeo4jTransactionHolder(
@@ -147,13 +146,11 @@ public class ReactiveNeo4jTransactionManager extends AbstractReactiveTransaction
TransactionConfig transactionConfig = createTransactionConfigFrom(transactionDefinition);
boolean readOnly = transactionDefinition.isReadOnly();
- AccessMode accessMode = readOnly ? AccessMode.READ : AccessMode.WRITE;
- List bookmarks = Collections.emptyList(); // TODO Bookmarksupport
transactionSynchronizationManager.setCurrentTransactionReadOnly(readOnly);
- RxSession session = this.driver
- .rxSession(t -> t.withDefaultAccessMode(accessMode).withBookmarks(bookmarks).withDatabase(databaseName));
+ List bookmarks = Collections.emptyList(); // TODO Bookmarksupport;
+ RxSession session = this.driver.rxSession(sessionConfig(readOnly, bookmarks, databaseName));
return Mono.from(session.beginTransaction(transactionConfig)).doOnNext(nativeTransaction -> {
diff --git a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/Neo4jClientTest.java b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/Neo4jClientTest.java
index 9c88e464f..16ed606d6 100644
--- a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/Neo4jClientTest.java
+++ b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/Neo4jClientTest.java
@@ -32,7 +32,6 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.BiFunction;
-import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Stream;
@@ -46,13 +45,12 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import org.neo4j.driver.AccessMode;
import org.neo4j.driver.Driver;
import org.neo4j.driver.Record;
import org.neo4j.driver.Session;
import org.neo4j.driver.StatementResult;
import org.neo4j.driver.Values;
-import org.neo4j.driver.internal.SessionParameters;
+import org.neo4j.driver.internal.SessionConfig;
import org.neo4j.driver.summary.ResultSummary;
import org.neo4j.driver.types.TypeSystem;
@@ -65,10 +63,7 @@ class Neo4jClientTest {
@Mock
private Driver driver;
- private ArgumentCaptor sessionTemplateCaptor = ArgumentCaptor.forClass(Consumer.class);
-
- @Mock
- private SessionParameters.Template sessionParametersTemplate;
+ private ArgumentCaptor configArgumentCaptor = ArgumentCaptor.forClass(SessionConfig.class);
@Mock
private Session session;
@@ -91,11 +86,7 @@ class Neo4jClientTest {
@BeforeEach
void prepareMocks() {
- when(sessionParametersTemplate.withBookmarks(anyList())).thenReturn(sessionParametersTemplate);
- when(sessionParametersTemplate.withDefaultAccessMode(any(AccessMode.class)))
- .thenReturn(sessionParametersTemplate);
-
- when(driver.session(any(Consumer.class))).thenReturn(session);
+ when(driver.session(any(SessionConfig.class))).thenReturn(session);
when(driver.defaultTypeSystem()).thenReturn(typeSystem);
}
@@ -150,7 +141,6 @@ class Neo4jClientTest {
@Test
void databaseSelectionShouldBePossibleOnlyOnce() {
- when(sessionParametersTemplate.withDatabase(anyString())).thenReturn(sessionParametersTemplate);
when(session.run(anyString(), anyMap())).thenReturn(statementResult);
when(statementResult.stream()).thenReturn(Stream.of(record1, record2));
@@ -200,8 +190,6 @@ class Neo4jClientTest {
@Test
void withDatabase() {
- when(sessionParametersTemplate.withDatabase(anyString())).thenReturn(sessionParametersTemplate);
-
Neo4jClient client = Neo4jClient.create(driver);
Optional result = client
.delegateTo(runner -> Optional.of(42))
@@ -419,12 +407,13 @@ class Neo4jClientTest {
void verifyDatabaseSelection(String targetDatabase) {
- verify(driver).session(sessionTemplateCaptor.capture());
- sessionTemplateCaptor.getValue().accept(sessionParametersTemplate);
+ verify(driver).session(configArgumentCaptor.capture());
+ SessionConfig config = configArgumentCaptor.getValue();
+
if (targetDatabase != null) {
- verify(sessionParametersTemplate).withDatabase(targetDatabase);
+ assertThat(config.database()).isPresent().contains(targetDatabase);
} else {
- verify(sessionParametersTemplate, never()).withDatabase(any());
+ assertThat(config.database()).isEmpty();
}
}
diff --git a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/ReactiveNeo4jClientTest.java b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/ReactiveNeo4jClientTest.java
index 1f81c773f..edbc53fa7 100644
--- a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/ReactiveNeo4jClientTest.java
+++ b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/ReactiveNeo4jClientTest.java
@@ -18,6 +18,7 @@
*/
package org.neo4j.springframework.data.core;
+import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import static org.mockito.hamcrest.MockitoHamcrest.argThat;
@@ -31,7 +32,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.function.Consumer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -42,11 +42,10 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import org.neo4j.driver.AccessMode;
import org.neo4j.driver.Driver;
import org.neo4j.driver.Record;
import org.neo4j.driver.Values;
-import org.neo4j.driver.internal.SessionParameters;
+import org.neo4j.driver.internal.SessionConfig;
import org.neo4j.driver.reactive.RxSession;
import org.neo4j.driver.reactive.RxStatementResult;
import org.neo4j.driver.reactive.RxTransaction;
@@ -70,10 +69,7 @@ class ReactiveNeo4jClientTest {
@Mock
private TypeSystem typeSystem;
- private ArgumentCaptor sessionTemplateCaptor = ArgumentCaptor.forClass(Consumer.class);
-
- @Mock
- private SessionParameters.Template sessionParametersTemplate;
+ private ArgumentCaptor configArgumentCaptor = ArgumentCaptor.forClass(SessionConfig.class);
@Mock
private RxSession session;
@@ -98,11 +94,7 @@ class ReactiveNeo4jClientTest {
when(driver.defaultTypeSystem()).thenReturn(typeSystem);
- when(sessionParametersTemplate.withBookmarks(anyList())).thenReturn(sessionParametersTemplate);
- when(sessionParametersTemplate.withDefaultAccessMode(any(AccessMode.class)))
- .thenReturn(sessionParametersTemplate);
-
- when(driver.rxSession(any(Consumer.class))).thenReturn(session);
+ when(driver.rxSession(any(SessionConfig.class))).thenReturn(session);
when(session.beginTransaction()).thenReturn(Mono.just(transaction));
when(session.close()).thenReturn(Mono.empty());
@@ -164,7 +156,6 @@ class ReactiveNeo4jClientTest {
@Test
void databaseSelectionShouldBePossibleOnlyOnce() {
- when(sessionParametersTemplate.withDatabase(anyString())).thenReturn(sessionParametersTemplate);
when(transaction.run(anyString(), anyMap())).thenReturn(statementResult);
when(transaction.commit()).thenReturn(Mono.empty());
when(statementResult.records()).thenReturn(Flux.just(record1, record2));
@@ -224,7 +215,6 @@ class ReactiveNeo4jClientTest {
@Test
void withDatabase() {
- when(sessionParametersTemplate.withDatabase(anyString())).thenReturn(sessionParametersTemplate);
when(transaction.commit()).thenReturn(Mono.empty());
ReactiveNeo4jClient client = ReactiveNeo4jClient.create(driver);
@@ -421,12 +411,14 @@ class ReactiveNeo4jClientTest {
}
void verifyDatabaseSelection(String targetDatabase) {
- verify(driver).rxSession(sessionTemplateCaptor.capture());
- sessionTemplateCaptor.getValue().accept(sessionParametersTemplate);
+
+ verify(driver).rxSession(configArgumentCaptor.capture());
+ SessionConfig config = configArgumentCaptor.getValue();
+
if (targetDatabase != null) {
- verify(sessionParametersTemplate).withDatabase(targetDatabase);
+ assertThat(config.database()).isPresent().contains(targetDatabase);
} else {
- verify(sessionParametersTemplate, never()).withDatabase(any());
+ assertThat(config.database()).isEmpty();
}
}
}
diff --git a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/TransactionHandlingTest.java b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/TransactionHandlingTest.java
index a4775f3ac..8c762d01c 100644
--- a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/TransactionHandlingTest.java
+++ b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/TransactionHandlingTest.java
@@ -18,6 +18,7 @@
*/
package org.neo4j.springframework.data.core;
+import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
@@ -25,7 +26,6 @@ import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.function.Consumer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -35,12 +35,11 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import org.neo4j.driver.AccessMode;
import org.neo4j.driver.Driver;
import org.neo4j.driver.Session;
import org.neo4j.driver.Transaction;
import org.neo4j.driver.TransactionConfig;
-import org.neo4j.driver.internal.SessionParameters;
+import org.neo4j.driver.internal.SessionConfig;
import org.neo4j.driver.reactive.RxSession;
import org.neo4j.driver.reactive.RxTransaction;
import org.neo4j.driver.types.TypeSystem;
@@ -64,16 +63,12 @@ class TransactionHandlingTest {
@Mock
private TypeSystem typeSystem;
- @Mock
- private SessionParameters.Template sessionParametersTemplate;
-
@BeforeEach
void prepareMocks() {
when(driver.defaultTypeSystem()).thenReturn(typeSystem);
}
-
@AfterEach
void verifyTypeSystemOnSession() {
@@ -92,13 +87,9 @@ class TransactionHandlingTest {
@Test
void shouldCallCloseOnSession() {
- ArgumentCaptor consumerCaptor = ArgumentCaptor.forClass(Consumer.class);
+ ArgumentCaptor configArgumentCaptor = ArgumentCaptor.forClass(SessionConfig.class);
- when(driver.session(any(Consumer.class))).thenReturn(session);
- when(sessionParametersTemplate.withDatabase(anyString())).thenReturn(sessionParametersTemplate);
- when(sessionParametersTemplate.withBookmarks(anyList())).thenReturn(sessionParametersTemplate);
- when(sessionParametersTemplate.withDefaultAccessMode(any(AccessMode.class)))
- .thenReturn(sessionParametersTemplate);
+ when(driver.session(any(SessionConfig.class))).thenReturn(session);
// Make template acquire session
DefaultNeo4jClient neo4jClient = new DefaultNeo4jClient(driver);
@@ -106,14 +97,14 @@ class TransactionHandlingTest {
s.run("MATCH (n) RETURN n");
}
- verify(driver).session(consumerCaptor.capture());
- consumerCaptor.getValue().accept(sessionParametersTemplate);
- verify(sessionParametersTemplate).withDatabase("aDatabase");
+ verify(driver).session(configArgumentCaptor.capture());
+ SessionConfig sessionConfig = configArgumentCaptor.getValue();
+ assertThat(sessionConfig.database()).isPresent().contains("aDatabase");
verify(session).run(any(String.class));
verify(session).close();
- verifyNoMoreInteractions(driver, sessionParametersTemplate, session, transaction);
+ verifyNoMoreInteractions(driver, session, transaction);
}
@Test
@@ -121,7 +112,7 @@ class TransactionHandlingTest {
AtomicBoolean transactionIsOpen = new AtomicBoolean(true);
- when(driver.session(any(Consumer.class))).thenReturn(session);
+ when(driver.session(any(SessionConfig.class))).thenReturn(session);
when(session.isOpen()).thenReturn(true);
when(session.beginTransaction(any(TransactionConfig.class))).thenReturn(transaction);
// Mock closing of the transaction
@@ -168,14 +159,14 @@ class TransactionHandlingTest {
DefaultReactiveNeo4jClient neo4jClient = new DefaultReactiveNeo4jClient(driver);
neo4jClient.query("RETURN 1").in("aDatabase").fetch().one();
- verify(driver, never()).rxSession(any(Consumer.class));
+ verify(driver, never()).rxSession(any(SessionConfig.class));
verifyZeroInteractions(driver, session);
}
@Test
void shouldCloseUnmanagedSessionOnComplete() {
- when(driver.rxSession(any(Consumer.class))).thenReturn(session);
+ when(driver.rxSession(any(SessionConfig.class))).thenReturn(session);
when(session.beginTransaction()).thenReturn(Mono.just(transaction));
when(transaction.commit()).thenReturn(Mono.empty());
when(session.close()).thenReturn(Mono.empty());
@@ -188,7 +179,7 @@ class TransactionHandlingTest {
.expectNext("1")
.verifyComplete();
- verify(driver).rxSession(any(Consumer.class));
+ verify(driver).rxSession(any(SessionConfig.class));
verify(session).beginTransaction();
verify(transaction).commit();
verify(transaction).rollback();
@@ -199,8 +190,7 @@ class TransactionHandlingTest {
@Test
void shouldCloseUnmanagedSessionOnError() {
-
- when(driver.rxSession(any(Consumer.class))).thenReturn(session);
+ when(driver.rxSession(any(SessionConfig.class))).thenReturn(session);
when(session.beginTransaction()).thenReturn(Mono.just(transaction));
when(transaction.rollback()).thenReturn(Mono.empty());
when(session.close()).thenReturn(Mono.empty());
@@ -214,7 +204,7 @@ class TransactionHandlingTest {
.expectError(SomeException.class)
.verify();
- verify(driver).rxSession(any(Consumer.class));
+ verify(driver).rxSession(any(SessionConfig.class));
verify(session).beginTransaction();
verify(transaction).commit();
verify(transaction).rollback();
diff --git a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManagerTest.java b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManagerTest.java
index 929efab97..ed0ed467b 100644
--- a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManagerTest.java
+++ b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/Neo4jTransactionManagerTest.java
@@ -24,7 +24,6 @@ import static org.neo4j.springframework.data.core.transaction.Neo4jTransactionMa
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.function.Consumer;
import javax.transaction.Status;
import javax.transaction.UserTransaction;
@@ -41,6 +40,7 @@ import org.neo4j.driver.Session;
import org.neo4j.driver.StatementResult;
import org.neo4j.driver.Transaction;
import org.neo4j.driver.TransactionConfig;
+import org.neo4j.driver.internal.SessionConfig;
import org.neo4j.driver.types.TypeSystem;
import org.neo4j.springframework.data.core.Neo4jClient;
import org.springframework.transaction.TransactionStatus;
@@ -85,7 +85,7 @@ class Neo4jTransactionManagerTest {
void triggerCommitCorrectly() {
when(driver.defaultTypeSystem()).thenReturn(typeSystem);
- when(driver.session(any(Consumer.class))).thenReturn(session);
+ when(driver.session(any(SessionConfig.class))).thenReturn(session);
when(session.beginTransaction(any(TransactionConfig.class))).thenReturn(transaction);
when(transaction.run(anyString(), anyMap())).thenReturn(statementResult);
when(session.isOpen()).thenReturn(true);
@@ -99,7 +99,7 @@ class Neo4jTransactionManagerTest {
txManager.commit(txStatus);
- verify(driver).session(any(Consumer.class));
+ verify(driver).session(any(SessionConfig.class));
verify(session).isOpen();
verify(session).beginTransaction(any(TransactionConfig.class));
@@ -120,7 +120,7 @@ class Neo4jTransactionManagerTest {
AtomicBoolean sessionIsOpen = new AtomicBoolean(true);
AtomicBoolean transactionIsOpen = new AtomicBoolean(true);
- when(driver.session(any(Consumer.class))).thenReturn(session);
+ when(driver.session(any(SessionConfig.class))).thenReturn(session);
when(session.beginTransaction(any(TransactionConfig.class))).thenReturn(transaction);
doAnswer(invocation -> {
@@ -172,7 +172,7 @@ class Neo4jTransactionManagerTest {
}
});
- verify(driver).session(any(Consumer.class));
+ verify(driver).session(any(SessionConfig.class));
verify(session).isOpen();
verify(session).beginTransaction(any(TransactionConfig.class));
@@ -214,7 +214,7 @@ class Neo4jTransactionManagerTest {
}
});
- verify(driver).session(any(Consumer.class));
+ verify(driver).session(any(SessionConfig.class));
verify(session).isOpen();
verify(session).beginTransaction(any(TransactionConfig.class));
@@ -257,7 +257,7 @@ class Neo4jTransactionManagerTest {
verify(userTransaction).begin();
- verify(driver).session(any(Consumer.class));
+ verify(driver).session(any(SessionConfig.class));
verify(session, times(2)).isOpen();
verify(session).beginTransaction(any(TransactionConfig.class));
@@ -298,7 +298,7 @@ class Neo4jTransactionManagerTest {
verify(userTransaction).begin();
verify(userTransaction).rollback();
- verify(driver).session(any(Consumer.class));
+ verify(driver).session(any(SessionConfig.class));
verify(session, times(2)).isOpen();
verify(session).beginTransaction(any(TransactionConfig.class));
diff --git a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManagerTest.java b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManagerTest.java
index f6b6d4b78..f6e239296 100644
--- a/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManagerTest.java
+++ b/spring-data-neo4j/src/test/java/org/neo4j/springframework/data/core/transaction/ReactiveNeo4jTransactionManagerTest.java
@@ -28,8 +28,6 @@ import io.r2dbc.h2.H2ConnectionFactory;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
-import java.util.function.Consumer;
-
import javax.transaction.UserTransaction;
import org.junit.jupiter.api.BeforeEach;
@@ -42,6 +40,7 @@ import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import org.neo4j.driver.Driver;
import org.neo4j.driver.TransactionConfig;
+import org.neo4j.driver.internal.SessionConfig;
import org.neo4j.driver.reactive.RxSession;
import org.neo4j.driver.reactive.RxTransaction;
import org.springframework.data.r2dbc.connectionfactory.R2dbcTransactionManager;
@@ -71,7 +70,7 @@ class ReactiveNeo4jTransactionManagerTest {
@BeforeEach
void setUp() {
- when(driver.rxSession(any(Consumer.class))).thenReturn(session);
+ when(driver.rxSession(any(SessionConfig.class))).thenReturn(session);
when(session.beginTransaction(any(TransactionConfig.class))).thenReturn(Mono.just(transaction));
when(transaction.rollback()).thenReturn(Mono.empty());
when(transaction.commit()).thenReturn(Mono.empty());
@@ -106,7 +105,7 @@ class ReactiveNeo4jTransactionManagerTest {
.expectNextCount(1L)
.verifyComplete();
- verify(driver).rxSession(any(Consumer.class));
+ verify(driver).rxSession(any(SessionConfig.class));
verify(session).beginTransaction(any(TransactionConfig.class));
verify(session).close();
@@ -133,7 +132,7 @@ class ReactiveNeo4jTransactionManagerTest {
.expectNextCount(1L)
.verifyComplete();
- verify(driver).rxSession(any(Consumer.class));
+ verify(driver).rxSession(any(SessionConfig.class));
verify(session).beginTransaction(any(TransactionConfig.class));
verify(session).close();
@@ -164,7 +163,7 @@ class ReactiveNeo4jTransactionManagerTest {
.expectNextCount(1L)
.verifyComplete();
- verify(driver).rxSession(any(Consumer.class));
+ verify(driver).rxSession(any(SessionConfig.class));
verify(session).beginTransaction(any(TransactionConfig.class));
verify(session).close();
@@ -195,7 +194,7 @@ class ReactiveNeo4jTransactionManagerTest {
.expectNextCount(1L)
.verifyComplete();
- verify(driver).rxSession(any(Consumer.class));
+ verify(driver).rxSession(any(SessionConfig.class));
verify(session).beginTransaction(any(TransactionConfig.class));
verify(session).close();