def objectify(cls, d, reader): return Vertex(reader.toObject(d["id"]), d.get("label", "vertex"))
def objectify(cls, d, reader): return Edge( reader.toObject(d["id"]), Vertex(reader.toObject(d["outV"]), d.get("outVLabel", "vertex")), d.get("label", "edge"), Vertex(reader.toObject(d["inV"]), d.get("inVLabel", "vertex")))
def test_side_effects(self, remote_connection): statics.load_statics(globals()) # g = traversal().withRemote(remote_connection) ### t = g.V().hasLabel("project").name.iterate() assert 0 == len(t.side_effects.keys()) with pytest.raises(Exception): m = t.side_effects["m"] ### t = g.V().out("created").groupCount("m").by("name") results = t.toSet() assert 2 == len(results) assert Vertex(3) in results assert Vertex(5) in results assert 1 == len(t.side_effects.keys()) assert "m" in t.side_effects.keys() m = t.side_effects["m"] assert isinstance(m, dict) assert 2 == len(m) assert 3 == m["lop"] assert 1 == m["ripple"] assert isinstance(m["lop"], long) assert isinstance(m["ripple"], long) # check status attributes assert "host" in t.side_effects.status_attributes ## t = g.V().out("created").groupCount("m").by("name").name.aggregate("n") results = t.toSet() assert 2 == len(results) assert "lop" in results assert "ripple" in results assert 2 == len(t.side_effects.keys()) assert "m" in t.side_effects.keys() assert "n" in t.side_effects.keys() n = t.side_effects.get("n") assert isinstance(n, dict) assert 2 == len(n) assert "lop" in n.keys() assert "ripple" in n.keys() assert 3 == n["lop"] assert 1 == n["ripple"] t = g.withSideEffect('m', 32).V().map(lambda: "x: x.sideEffects('m')") results = t.toSet() assert 1 == len(results) assert 32 == list(results)[0] assert 32 == t.side_effects['m'] assert 1 == len(t.side_effects.keys()) with pytest.raises(Exception): x = t.side_effects["x"] a = g.V().has("name", "marko").next() b = g.V().has("name", "peter").next() edge = g.withSideEffect("b", b).V(a).addE("knows").to("b").next() assert "knows" == edge.label assert a == edge.outV assert b == edge.inV g.V().has("name", "marko").outE("knows").where(__.inV().has( "name", "peter")).drop().iterate() ## edge = g.withSideEffect("a", a).withSideEffect( "b", b).V().limit(1).addE("knows").from_("a").to("b").next() assert "knows" == edge.label assert a == edge.outV assert b == edge.inV g.V().has("name", "marko").outE("knows").where(__.inV().has( "name", "peter")).drop().iterate()