public async void TestNodeCrud() { IBranch branch = await Fixture.Repository.ReadBranchAsync("master"); JObject nodeObj = new JObject( new JProperty("title", "MyNode") ); IBaseNode node = await branch.CreateNodeAsync(nodeObj); string expectedRef = "node://" + node.PlatformId + "/" + node.RepositoryId + "/" + node.BranchId + "/" + node.Id; Assert.Equal(expectedRef, node.Ref.Ref); Assert.NotNull(node.QName); Assert.Equal("n:node", node.TypeQName.ToString()); IBaseNode nodeRead = await branch.ReadNodeAsync(node.Id); Assert.Equal(node.Data, nodeRead.Data); node.Data["title"] = "New title"; await node.UpdateAsync(); await nodeRead.ReloadAsync(); Assert.Equal(node.Data["title"], nodeRead.Data["title"]); await node.DeleteAsync(); nodeRead = await branch.ReadNodeAsync(node.Id); Assert.Null(nodeRead); }
public async void TestNodeQuerySearchFind() { IBranch branch = await Fixture.Repository.ReadBranchAsync("master"); JObject nodeObj1 = new JObject( new JProperty("title", "Cheese burger"), new JProperty("meal", "lunch") ); JObject nodeObj2 = new JObject( new JProperty("title", "Ham burger"), new JProperty("meal", "lunch") ); JObject nodeObj3 = new JObject( new JProperty("title", "Turkey sandwich"), new JProperty("meal", "lunch") ); JObject nodeObj4 = new JObject( new JProperty("title", "Oatmeal"), new JProperty("meal", "breakfast") ); IBaseNode node1 = await branch.CreateNodeAsync(nodeObj1); IBaseNode node2 = await branch.CreateNodeAsync(nodeObj2); IBaseNode node3 = await branch.CreateNodeAsync(nodeObj3); IBaseNode node4 = await branch.CreateNodeAsync(nodeObj4); // Wait for nodes to index Thread.Sleep(5000); JObject query = new JObject( new JProperty("meal", "lunch") ); List <IBaseNode> queryNodes = await branch.QueryNodesAsync(query); var queryNodesIds = queryNodes.Select(node => node.Id); Assert.Equal(3, queryNodes.Count); Assert.Contains(node1.Id, queryNodesIds); Assert.Contains(node2.Id, queryNodesIds); Assert.Contains(node3.Id, queryNodesIds); JObject find = new JObject( new JProperty("search", "burger") ); List <IBaseNode> findNodes = await branch.FindNodesAsync(find); var findNodesIds = findNodes.Select(node => node.Id); Assert.Equal(2, findNodes.Count); Assert.Contains(node1.Id, findNodesIds); Assert.Contains(node2.Id, findNodesIds); // search List <IBaseNode> searchNodes = await branch.SearchNodesAsync("burger"); var searchNodesIds = searchNodes.Select(node => node.Id); Assert.Equal(2, searchNodes.Count); Assert.Contains(node1.Id, searchNodesIds); Assert.Contains(node2.Id, searchNodesIds); await node1.DeleteAsync(); await node2.DeleteAsync(); await node3.DeleteAsync(); await node4.DeleteAsync(); }