From 189998f98e4acf87ddf8a0f7991bc3d1400bc9d7 Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov Date: Wed, 5 Apr 2023 20:38:50 +0100 Subject: [PATCH] Include NotificationConfig on BEGIN message for bolt scheme `NotificationConfig` might be ignored on new sessions with `bolt` scheme. This update fixes it. --- bundle/pom.xml | 2 +- driver/pom.xml | 2 +- .../request/TransactionMetadataBuilder.java | 4 +++- .../TransactionMetadataBuilderTest.java | 23 +++++++++++++++++++ examples/pom.xml | 2 +- pom.xml | 2 +- testkit-backend/pom.xml | 2 +- testkit-tests/pom.xml | 2 +- 8 files changed, 32 insertions(+), 7 deletions(-) diff --git a/bundle/pom.xml b/bundle/pom.xml index 724630c7a7..f12f34c5f1 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.8-SNAPSHOT + 5.7-SNAPSHOT .. diff --git a/driver/pom.xml b/driver/pom.xml index befcde4044..0ec90d10f8 100644 --- a/driver/pom.xml +++ b/driver/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.8-SNAPSHOT + 5.7-SNAPSHOT neo4j-java-driver diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java index 4fd7de2f98..8ef53923df 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java @@ -68,6 +68,7 @@ public static Map buildMetadata( boolean databaseNamePresent = databaseName.databaseName().isPresent(); boolean impersonatedUserPresent = impersonatedUser != null; boolean txTypePresent = txType != null; + boolean notificationConfigPresent = notificationConfig != null; if (!bookmarksPresent && !txTimeoutPresent @@ -75,7 +76,8 @@ public static Map buildMetadata( && !accessModePresent && !databaseNamePresent && !impersonatedUserPresent - && !txTypePresent) { + && !txTypePresent + && !notificationConfigPresent) { return emptyMap(); } diff --git a/driver/src/test/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilderTest.java b/driver/src/test/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilderTest.java index 1257474a8d..f72eb1fe5e 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilderTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilderTest.java @@ -42,6 +42,9 @@ import org.junit.jupiter.params.provider.ValueSource; import org.neo4j.driver.AccessMode; import org.neo4j.driver.Bookmark; +import org.neo4j.driver.NotificationCategory; +import org.neo4j.driver.NotificationConfig; +import org.neo4j.driver.NotificationSeverity; import org.neo4j.driver.Value; import org.neo4j.driver.internal.InternalBookmark; @@ -106,4 +109,24 @@ void shouldNotHaveMetadataForDatabaseNameWhenIsNull() { buildMetadata(null, null, defaultDatabase(), WRITE, Collections.emptySet(), null, null, null); assertTrue(metadata.isEmpty()); } + + @Test + void shouldIncludeNotificationConfig() { + var metadata = buildMetadata( + null, + null, + defaultDatabase(), + WRITE, + Collections.emptySet(), + null, + null, + NotificationConfig.defaultConfig() + .enableMinimumSeverity(NotificationSeverity.WARNING) + .disableCategories(Set.of(NotificationCategory.UNSUPPORTED))); + + var expectedMetadata = new HashMap(); + expectedMetadata.put("notifications_minimum_severity", value("WARNING")); + expectedMetadata.put("notifications_disabled_categories", value(Set.of("UNSUPPORTED"))); + assertEquals(expectedMetadata, metadata); + } } diff --git a/examples/pom.xml b/examples/pom.xml index ed98e36066..88e01968b7 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.8-SNAPSHOT + 5.7-SNAPSHOT org.neo4j.doc.driver diff --git a/pom.xml b/pom.xml index e58e03a7ab..582ff405b2 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.8-SNAPSHOT + 5.7-SNAPSHOT pom Neo4j Java Driver Project diff --git a/testkit-backend/pom.xml b/testkit-backend/pom.xml index 95e74ec75f..4864849edd 100644 --- a/testkit-backend/pom.xml +++ b/testkit-backend/pom.xml @@ -7,7 +7,7 @@ neo4j-java-driver-parent org.neo4j.driver - 5.8-SNAPSHOT + 5.7-SNAPSHOT testkit-backend diff --git a/testkit-tests/pom.xml b/testkit-tests/pom.xml index c0f1fa31a3..af4da1557e 100644 --- a/testkit-tests/pom.xml +++ b/testkit-tests/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.8-SNAPSHOT + 5.7-SNAPSHOT ..