public async Task With_GraphSON2_It_Should_Retrieve_Edge_Instances() { var statement = new SimpleGraphStatement("{\"@type\": \"g:Bytecode\", \"@value\": {" + " \"step\": [[\"E\"], [\"hasLabel\", \"created\"]]}}"); statement.SetGraphLanguage(GraphTests.GraphSON2Language); var rs = await _session.ExecuteGraphAsync(statement).ConfigureAwait(false); var results = rs.To <IEdge>().ToArray(); Assert.Greater(results.Length, 0); foreach (var edge in results) { Assert.AreEqual("created", edge.Label); } }
public async Task With_GraphSON2_It_Should_Retrieve_Vertex_Name_Marko() { var statement = new SimpleGraphStatement("{\"@type\": \"g:Bytecode\", \"@value\": {" + " \"step\": [[\"V\"], [\"has\", \"person\", \"name\", \"marko\"]]}}"); statement.SetGraphLanguage(GraphSON2Language); var rs = await _session.ExecuteGraphAsync(statement).ConfigureAwait(false); var results = rs.ToArray(); Assert.AreEqual(1, results.Length); var markoVertex = results.FirstOrDefault().ToVertex(); Assert.AreEqual("person", markoVertex.Label); Assert.AreEqual("marko", markoVertex.Properties["name"].ToArray()[0].Get <string>("value")); }
public void GraphStatement_Set_Methods_Test() { var statement = new SimpleGraphStatement("g.V()"); statement .SetGraphSource("source1") .SetGraphLanguage("lang1") .SetGraphName("name1") .SetGraphReadConsistencyLevel(ConsistencyLevel.Two) .SetGraphWriteConsistencyLevel(ConsistencyLevel.Three); Assert.AreEqual("source1", statement.GraphSource); Assert.AreEqual("lang1", statement.GraphLanguage); Assert.AreEqual("name1", statement.GraphName); Assert.AreEqual(ConsistencyLevel.Two, statement.GraphReadConsistencyLevel); Assert.AreEqual(ConsistencyLevel.Three, statement.GraphWriteConsistencyLevel); }
public async Task With_GraphSON2_It_Should_Retrieve_Vertex_Instances() { var statement = new SimpleGraphStatement("{\"@type\": \"g:Bytecode\", \"@value\": {" + " \"step\": [[\"V\"], [\"hasLabel\", \"person\"]]}}"); statement.SetGraphLanguage(GraphSON2Language); var rs = await _session.ExecuteGraphAsync(statement).ConfigureAwait(false); var results = rs.ToArray(); Assert.Greater(results.Length, 0); foreach (var graphNode in results) { var vertex = graphNode.ToVertex(); Assert.AreEqual("person", vertex.Label); } }
public async Task With_GraphSON2_It_Should_Insert_And_Retrieve_LocalDate_LocalTime() { const string schemaQuery = "schema.propertyKey('localdate').Date().ifNotExists().create();\n" + "schema.propertyKey('localtime').Time().ifNotExists().create();\n" + "schema.vertexLabel('typetests').properties('name', 'localdate', 'localtime').ifNotExists().create();\n"; _session.ExecuteGraph(new SimpleGraphStatement(schemaQuery)); var deleteStatement = new SimpleGraphStatement("{\"@type\": \"g:Bytecode\", \"@value\": {" + " \"step\": [[\"V\"], " + " [\"has\", \"typetests\", \"name\", \"stephen\"]," + " [\"drop\"]]}}"); deleteStatement.SetGraphLanguage(GraphTests.GraphSON2Language); _session.ExecuteGraph(deleteStatement); var addStatement = new SimpleGraphStatement("{\"@type\":\"g:Bytecode\", \"@value\": {\"step\":[" + "[\"addV\", \"typetests\"],[\"property\",\"name\",\"stephen\"]," + "[\"property\",\"localdate\", {\"@type\":\"gx:LocalDate\",\"@value\":\"1981-09-14\"}]," + "[\"property\",\"localtime\", {\"@type\":\"gx:LocalTime\",\"@value\":\"12:50\"}]]}}"); addStatement.SetGraphLanguage(GraphTests.GraphSON2Language); await _session.ExecuteGraphAsync(addStatement).ConfigureAwait(false); var statement = new SimpleGraphStatement("{\"@type\": \"g:Bytecode\", \"@value\": {" + " \"step\": [[\"V\"], [\"has\", \"typetests\", \"name\", \"stephen\"]]}}"); statement.SetGraphLanguage(GraphTests.GraphSON2Language); var rs = await _session.ExecuteGraphAsync(statement).ConfigureAwait(false); var results = rs.ToArray(); Assert.AreEqual(1, results.Length); var stephen = results.First().To <IVertex>(); Assert.AreEqual("stephen", stephen.GetProperty("name").Value.ToString()); Assert.AreEqual(LocalDate.Parse("1981-09-14"), stephen.GetProperty("localdate").Value.To <LocalDate>()); Assert.AreEqual(LocalTime.Parse("12:50"), stephen.GetProperty("localtime").Value.To <LocalTime>()); }
public void ExecuteGraph_Should_Throw_ArgumentOutOfRange_When_Duration_Is_Out_Of_Range() { var values = new[] { new Duration(1, 0, 0), new Duration(-1, 0, 0) }; using (var cluster = ClusterBuilder() .AddContactPoint(TestClusterManager.InitialContactPoint) .WithGraphOptions(new GraphOptions().SetName(GraphTests.GraphName)) .Build()) { var session = cluster.Connect(); foreach (var value in values) { var parameters = new { vertexLabel = "v1", propertyName = "prop1", val = value }; var stmt = new SimpleGraphStatement("g.addV(vertexLabel).property(propertyName, val)", parameters); Assert.Throws <ArgumentOutOfRangeException>(() => session.ExecuteGraph(stmt)); } } }