def test_get_nodes(clean_slate, query): g = query[0] t = NeoTransformer(g, uri=DEFAULT_NEO4J_URL, username=DEFAULT_NEO4J_USERNAME, password=DEFAULT_NEO4J_PASSWORD) t.save() for k, v in query[1].items(): t.set_node_filter(k, v) nodes = t.get_nodes() assert len(nodes) == query[2] node_ids = [x['id'] for x in nodes] for x in query[3]: assert x in node_ids
help='A filter that can be applied to nodes') parser.add_argument('--edge_filter', action='append', help='A filter that can be applied to edges') parser.add_argument('--uri', help='URI/URL for Neo4j (including port)', default='localhost:7474') parser.add_argument('--username', help='username', default='neo4j') parser.add_argument('--password', help='password', default='demo') args = parser.parse_args() # Initialize NeoTransformer nt = NeoTransformer(None, uri=args.uri, username=args.username, password=args.password) if args.node_filter: for f in args.node_filter: k, v = f.split('=') nt.set_node_filter(k, set(v)) if args.edge_filter: for f in args.edge_filter: k, v = f.split('=') nt.set_edge_filter(k, set(v)) # Read from Neo4j with the given filter constraints (if any) nt.load() nt.report()