def test_intersect(self): g = GraphObject() query = g.Vertex().Intersect(g.Vertex()) actual = query.build() self.assertEqual(actual, "g.V().Intersect(g.V())")
def test_union(self): g = GraphObject() query = g.Vertex().Union(g.Vertex()) actual = query.build() self.assertEqual(actual, "g.V().Union(g.V())")
def test_a_add_quad(self): client = CayleyClient(_CLIENT_URL) response = client.AddQuad('foo', 'to', 'bar') self.assertEqual(response.r.status_code, 200) g = GraphObject() query = g.V("foo").Out('to').Is('bar').All() response = client.Send(query) self.assertEqual(len(response.result['result']), 1)
def test_b_delete_quad(self): client = CayleyClient(_CLIENT_URL) response = client.DeleteQuad('foo', 'to', 'bar') self.assertEqual(response.r.status_code, 200) g = GraphObject() query = g.V("foo").Out('to').Is("bar").All() response = client.Send(query) self.assertIsNone(response.result['result'])
def test_filter(self): g = GraphObject() query = g.Vertex().Filter(Functions.lt(25)).Filter( Functions.regex("John")).Filter(Functions.str("t")) actual = query.build() self.assertEqual( actual, 'g.V().Filter(lt(25)).Filter(regex("John")).Filter(str("t"))')
def test_d_delete_quads(self): client = CayleyClient(_CLIENT_URL) response = client.DeleteQuads([('foo', 'to', 'bar'), ('baz', 'from', 'quux')]) self.assertEqual(response.r.status_code, 200) g = GraphObject() query = g.V("foo").Out('to').Is("bar").Union( g.V("baz").Out('from').Is('quux')).All() response = client.Send(query) self.assertIsNone(response.result['result'])
def test_send(self): client = CayleyClient(_CLIENT_URL) g = GraphObject() query = g.V().Has("name", "Casablanca") \ .Out("/film/film/starring") \ .Out("/film/performance/actor") \ .Out("name") \ .All() response = client.Send(query) self.assertTrue(response.r.status_code == 200) self.assertTrue(response.r is not None) self.assertTrue(len(response.result) > 0)
def test_follow_with_morphism_path_and_str_query(self): g = GraphObject() film_to_actor = g.Morphism().Out("/film/film/starring").Out( "/film/performance/actor") query = g.V().Has("name", "Casablanca").Follow( film_to_actor.build()).Out("name").All() actual = query.build() self.assertEqual( actual, "g.V().Has('name', 'Casablanca')" ".Follow(" "g.Morphism().Out('/film/film/starring').Out('/film/performance/actor')" ").Out('name')" ".All()")
def test_complex_query1(self): g = GraphObject() query = g.V().Has("name", "Casablanca") \ .Out("/film/film/starring") \ .Out("/film/performance/actor") \ .Out("name") \ .All() actual = query.build() self.assertEqual( actual, "g.V().Has('name', 'Casablanca')" ".Out('/film/film/starring')" ".Out('/film/performance/actor')" ".Out('name')" ".All()")
def test_all_query(self): g = GraphObject() query = g.V("Humphrey Bogart").All() actual = query.build() self.assertEqual(actual, "g.V('Humphrey Bogart').All()")
def test_back(self): g = GraphObject() query = g.V().Back('B') actual = query.build() self.assertEqual(actual, "g.V().Back('B')")
def test_save(self): g = GraphObject() query = g.V().Save('B', 'C') actual = query.build() self.assertEqual(actual, "g.V().Save('B', 'C')")
def test_vertex_query(self): g = GraphObject() query = g.Vertex() self.assertEqual(query.build(), "g.V()")
def test_tag(self): g = GraphObject() query = g.V().Tag('B', 'C') actual = query.build() self.assertEqual(actual, 'g.V().Tag(["B", "C"])')
def test_has_query(self): g = GraphObject() query = g.V().Has("name", "Casablanca").All() actual = query.build() self.assertEqual(actual, "g.V().Has('name', 'Casablanca').All()")
def test_out_query_with_predicate_as_none_and_label_as_dict(self): g = GraphObject() query = g.V().Out(None, ['foo', 'bar']) actual = query.build() self.assertEqual(actual, "g.V().Out(null, ['foo', 'bar'])")
def test_out_query_with_predicate_as_dict_and_label(self): g = GraphObject() query = g.V().Out(['foo', 'bar'], 'qux') actual = query.build() self.assertEqual(actual, "g.V().Out(['foo', 'bar'], 'qux')")
from pyley import CayleyClient, GraphObject if __name__ == '__main__': client = CayleyClient() g = GraphObject() q = g.V('<pug://building/EARHART_RD_bldgL877>').All() r = client.Send(q) print(r.result)
def test_out_query(self): g = GraphObject() query = g.V().Out('name') actual = query.build() self.assertEqual(actual, "g.V().Out('name')")
def test_morphism_query(self): g = GraphObject() query = g.Morphism() self.assertEqual(query.build(), "g.Morphism()")
def test_emit(self): g = GraphObject() query = g.Emit({'name': 'John', 'lastName': 'DOE', 'age': 25}) self.assertEqual( query, 'g.Emit({"age": 25, "lastName": "DOE", "name": "John"})')
def test_get_limit(self): g = GraphObject() query = g.Vertex().GetLimit(5) actual = query.build() self.assertEqual(actual, "g.V().GetLimit(5)")
def test_vertex_query_with_parameters(self): g = GraphObject() query = g.V("Humphrey Bogart") actual = query.build() self.assertEqual(actual, "g.V('Humphrey Bogart')")
def test_in_query(self): g = GraphObject() query = g.V().In("name").All() actual = query.build() self.assertEqual(actual, "g.V().In('name').All()")
def test_both(self): g = GraphObject() query = g.V("F").Both("follows") actual = query.build() print(actual) self.assertEqual(actual, "g.V('F').Both('follows')")
def test_out_query_with_predicate(self): g = GraphObject() query = g.V().Out(g.Vertex()) actual = query.build() self.assertEqual(actual, "g.V().Out(g.V())")
def test_follow_with_vertex(self): g = GraphObject() with self.assertRaises(Exception): g.V().Follow(g.V()).build()