Example #1
0
    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)
Example #2
0
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