def post(self): db = session() args = self._parser.parse_args() node = Node(name=args["name"], url=args["url"], ht_user=args["ht_user"], ht_pass=args["ht_pass"]) if db.query(Node).filter_by(name=args["name"]).first(): return dict(success=False, message="Node called %s already exists" % args["name"]) machines = [] for machine in node_list_machines(args["url"], args["ht_user"], args["ht_pass"]): machines.append( dict( name=machine.name, platform=machine.platform, tags=machine.tags, )) node.machines.append(machine) db.add(machine) db.add(node) db.commit() db.close() return dict(name=args["name"], machines=machines)
def test_node(): node = Node() need_set = set([ "id", "name", "url", "enabled", "ht_user", "ht_pass", "last_check", "machines" ]) have_set = set(dir(node)) assert need_set & have_set == need_set