Skip to content

Commit 857a3d2

Browse files
Update bookmark manager API (#659)
* Update bookmark manager API * Move all bookmark manager references to experimental namespace.
1 parent 2a2a3ba commit 857a3d2

17 files changed

+262
-437
lines changed

Neo4j.Driver/Neo4j.Driver.Tests.TestBackend/Protocol/BookmarkManager/BookmarkManagerClose.cs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using System.Threading.Tasks;
2-
3-
namespace Neo4j.Driver.Tests.TestBackend
1+
namespace Neo4j.Driver.Tests.TestBackend
42
{
53
internal class BookmarkManagerClose : IProtocolObject
64
{
@@ -11,12 +9,6 @@ public class BookmarkManagerCloseDto
119
public string id { get; set; }
1210
}
1311

14-
public override Task Process()
15-
{
16-
var bookmarkManager = ObjManager.GetObject<NewBookmarkManager>(data.id).BookmarkManager;
17-
return bookmarkManager.ForgetAsync();
18-
}
19-
2012
public override string Respond()
2113
{
2214
return new ProtocolResponse("BookmarkManager", new {data.id}).Encode();

Neo4j.Driver/Neo4j.Driver.Tests.TestBackend/Protocol/BookmarkManager/NewBookmarkManager.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Linq;
44
using System.Threading;
55
using System.Threading.Tasks;
6+
using Neo4j.Driver.Experimental;
67
using Newtonsoft.Json;
78

89
namespace Neo4j.Driver.Tests.TestBackend
@@ -15,38 +16,38 @@ internal class NewBookmarkManager : IProtocolObject
1516

1617
public class NewBookmarkManagerDto
1718
{
18-
public Dictionary<string, string[]> initialBookmarks { get; set; }
19+
public string[] initialBookmarks { get; set; }
1920
public bool bookmarksSupplierRegistered { get; set; }
2021
public bool bookmarksConsumerRegistered { get; set; }
2122
}
2223

2324
public override Task Process(Controller controller)
2425
{
2526
var initialBookmarks =
26-
data.initialBookmarks?.ToDictionary(x => x.Key, x => x.Value as IEnumerable<string>)
27-
?? new Dictionary<string, IEnumerable<string>>();
27+
data.initialBookmarks
28+
?? Array.Empty<string>();
2829

29-
async Task<string[]> BookmarkSupplier(string database, CancellationToken _)
30+
async Task<string[]> BookmarkSupplier(CancellationToken _)
3031
{
3132
if (!data.bookmarksSupplierRegistered)
3233
return Array.Empty<string>();
3334

3435
var request = new BookmarkManagerSupplierRequest(ObjManager);
3536

36-
await controller.SendResponse(GetSupplyRequest(database, request));
37+
await controller.SendResponse(GetSupplyRequest(request));
3738
var result = await controller.TryConsumeStreamObjectOfType<BookmarksSupplierCompleted>();
3839

3940
return result.data.bookmarks;
4041
}
4142

42-
async Task NotifyBookmarks(string database, string[] bookmarks, CancellationToken _)
43+
async Task NotifyBookmarks(string[] bookmarks, CancellationToken _)
4344
{
4445
if (!data.bookmarksConsumerRegistered)
4546
return;
4647

4748
var request = new BookmarkManagerConsumerRequest(ObjManager);
4849

49-
await controller.SendResponse(GetConsumeRequest(database, bookmarks, request));
50+
await controller.SendResponse(GetConsumeRequest(bookmarks, request));
5051
await controller.TryConsumeStreamObjectOfType<BookmarksConsumerCompleted>();
5152
}
5253

@@ -57,16 +58,16 @@ async Task NotifyBookmarks(string database, string[] bookmarks, CancellationToke
5758
return Task.CompletedTask;
5859
}
5960

60-
private string GetConsumeRequest(string database, string[] bookmarks, BookmarkManagerConsumerRequest request)
61+
private string GetConsumeRequest(string[] bookmarks, BookmarkManagerConsumerRequest request)
6162
{
6263
return new ProtocolResponse("BookmarksConsumerRequest",
63-
new {database, bookmarks, bookmarkManagerId = uniqueId, id = request.uniqueId}).Encode();
64+
new {bookmarks, bookmarkManagerId = uniqueId, id = request.uniqueId}).Encode();
6465
}
6566

66-
private string GetSupplyRequest(string database, BookmarkManagerSupplierRequest request)
67+
private string GetSupplyRequest(BookmarkManagerSupplierRequest request)
6768
{
6869
return new ProtocolResponse("BookmarksSupplierRequest",
69-
new {database, bookmarkManagerId = uniqueId, id = request.uniqueId}).Encode();
70+
new {bookmarkManagerId = uniqueId, id = request.uniqueId}).Encode();
7071
}
7172

7273
public override string Respond()

Neo4j.Driver/Neo4j.Driver.Tests/AsyncSessionTests.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
using System.Threading.Tasks;
2424
using FluentAssertions;
2525
using Moq;
26+
using Neo4j.Driver.Experimental;
2627
using Neo4j.Driver.Internal;
2728
using Neo4j.Driver.Internal.Connector;
2829
using Neo4j.Driver.Internal.Messaging;
@@ -419,13 +420,13 @@ public void ShouldSyncBookmarksOnUpdateBookmarks()
419420
using (var session = new AsyncSession(null, null, null, 0, cfg, false))
420421
{
421422
session.UpdateBookmarks(new InternalBookmarks("a"));
422-
bookmarkManager.Verify(x => x.UpdateBookmarksAsync("test", Array.Empty<string>(), new[] { "a" }, It.IsAny<CancellationToken>()), Times.Once);
423+
bookmarkManager.Verify(x => x.UpdateBookmarksAsync(Array.Empty<string>(), new[] { "a" }, It.IsAny<CancellationToken>()), Times.Once);
423424
session.UpdateBookmarks(new InternalBookmarks("b"));
424-
bookmarkManager.Verify(x => x.UpdateBookmarksAsync("test", new[] { "a" }, new[] { "b" }, It.IsAny<CancellationToken>()), Times.Once);
425+
bookmarkManager.Verify(x => x.UpdateBookmarksAsync(new[] { "a" }, new[] { "b" }, It.IsAny<CancellationToken>()), Times.Once);
425426
}
426427

427-
bookmarkManager.Verify(x => x.UpdateBookmarksAsync("test", It.IsAny<string[]>(), It.IsAny<string[]>(), It.IsAny<CancellationToken>()), Times.Exactly(2));
428-
bookmarkManager.Verify(x => x.UpdateBookmarksAsync("test", new[] { "a" }, new[] { "b" }, It.IsAny<CancellationToken>()), Times.Once);
428+
bookmarkManager.Verify(x => x.UpdateBookmarksAsync(It.IsAny<string[]>(), It.IsAny<string[]>(), It.IsAny<CancellationToken>()), Times.Exactly(2));
429+
bookmarkManager.Verify(x => x.UpdateBookmarksAsync( new[] { "a" }, new[] { "b" }, It.IsAny<CancellationToken>()), Times.Once);
429430
}
430431
}
431432
}

Neo4j.Driver/Neo4j.Driver.Tests/Internal/BookmarkManager/BookmarkManagerFactoryTests.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
using System.Threading.Tasks;
2121
using Xunit;
2222
using FluentAssertions;
23+
using Neo4j.Driver.Experimental;
2324

2425
namespace Neo4j.Driver.Internal.BookmarkManager;
2526

@@ -31,9 +32,9 @@ public void ShouldReturnNewBookmarkManager()
3132
var factory = new BookmarkManagerFactory();
3233

3334
var config = new BookmarkManagerConfig(
34-
new Dictionary<string, IEnumerable<string>>(),
35-
(_, _) => Task.FromResult(Array.Empty<string>()),
36-
(_, _, _) => Task.CompletedTask);
35+
Array.Empty<string>(),
36+
(_) => Task.FromResult(Array.Empty<string>()),
37+
(_, _) => Task.CompletedTask);
3738

3839
var bookmarkManager = factory.NewBookmarkManager(config);
3940

0 commit comments

Comments
 (0)