public void ArgsContainLastBookmark() { const string lastBookmark = "LastBookmark"; const string queryText = "RETURN [] AS data"; var queryParams = new Dictionary <string, object>(); var cypherQuery = new CypherQuery(queryText, queryParams, CypherResultMode.Set, CypherResultFormat.Transactional); using (var testHarness = new BoltTestHarness()) { var recordMock = new Mock <IRecord>(); recordMock.Setup(r => r["data"]).Returns(new List <INode>()); recordMock.Setup(r => r.Keys).Returns(new[] { "data" }); testHarness.MockSession.Setup(s => s.LastBookmark).Returns(lastBookmark); var testStatementResult = new TestStatementResult(new[] { "data" }, recordMock.Object); testHarness.SetupCypherRequestResponse(cypherQuery.QueryText, cypherQuery.QueryParameters, testStatementResult); var graphClient = testHarness.CreateAndConnectBoltGraphClient(); graphClient.OperationCompleted += (s, e) => { e.LastBookmark.Should().Be(lastBookmark); }; graphClient.ExecuteGetCypherResults <IEnumerable <ObjectWithIds> >(cypherQuery); } }
public async Task SkipsOverExtraFieldsInDbmsComponents() { const string uri = "bolt://localhost"; var record1Mock = new Mock <IRecord>(); record1Mock.Setup(r => r["name"]).Returns("another-value"); var record2Mock = new Mock <IRecord>(); record2Mock.Setup(r => r["name"]).Returns("neo4j kernel"); record2Mock.Setup(r => r["versions"]).Returns(new List <object> { "3.2.3" }); var testSr = new TestStatementResult(new[] { record1Mock.Object, record2Mock.Object }); var sessionMock = new Mock <ISession>(); sessionMock .Setup(s => s.Run("CALL dbms.components()")) .Returns(testSr); var driverMock = new Mock <IDriver>(); driverMock.Setup(d => d.Session(It.IsAny <AccessMode>())).Returns(sessionMock.Object); driverMock.Setup(d => d.Session()).Returns(sessionMock.Object); driverMock.Setup(d => d.Uri).Returns(new Uri(uri)); var bgc = new BoltGraphClient(driverMock.Object); await bgc.ConnectAsync(); bgc.ServerVersion.Should().Be(new Version(3, 2, 3)); }
public void ArgsContainBookmarksUsed() { // Arrange var bookmarks = new List <string> { "Bookmark1", "Bookmark2" }; const string queryText = "RETURN [] AS data"; var queryParams = new Dictionary <string, object>(); var cypherQuery = new CypherQuery(queryText, queryParams, CypherResultMode.Set, CypherResultFormat.Transactional) { Bookmarks = bookmarks }; using (var testHarness = new BoltTestHarness()) { var recordMock = new Mock <IRecord>(); recordMock.Setup(r => r["data"]).Returns(new List <INode>()); recordMock.Setup(r => r.Keys).Returns(new[] { "data" }); var testStatementResult = new TestStatementResult(new[] { "data" }, recordMock.Object); testHarness.SetupCypherRequestResponse(cypherQuery.QueryText, cypherQuery.QueryParameters, testStatementResult); var graphClient = testHarness.CreateAndConnectBoltGraphClient(); graphClient.OperationCompleted += (s, e) => { e.BookmarksUsed.Should().Contain(bookmarks[0]); e.BookmarksUsed.Should().Contain(bookmarks[1]); }; graphClient.ExecuteGetCypherResults <IEnumerable <ObjectWithIds> >(cypherQuery); } }
public static Mock <IDriver> MockDriverWithConnectionSet() { const string uri = "bolt://localhost"; var recordMock = new Mock <IRecord>(); recordMock.Setup(r => r["name"]).Returns("neo4j kernel"); recordMock.Setup(r => r["versions"]).Returns(new List <object> { "3.2.3" }); var testSr = new TestStatementResult(new[] { recordMock.Object }); var sessionMock = new Mock <ISession>(); sessionMock .Setup(s => s.Run("CALL dbms.components()")) .Returns(testSr); var driverMock = new Mock <IDriver>(); driverMock.Setup(d => d.Session(It.IsAny <AccessMode>())).Returns(sessionMock.Object); driverMock.Setup(d => d.Session()).Returns(sessionMock.Object); driverMock.Setup(d => d.Uri).Returns(new Uri(uri)); return(driverMock); }