Beispiel #1
0
def delete_role(role_name):
    try:
        role = Role.get_one(db.session.query, role_name)
        if role:
            db.session.delete(role)
            db.session.commit()
    except Exception as e:
        abort(500)
    return jsonify(result=dict(message="OK", request="delete role", payload=str(request.json)))
Beispiel #2
0
def update_role(old_role_name):
    if not is_json_request(request) or not is_valid_keys(request.json, ["role"]):
        abort(400)
    new_role_name = request.json["role"]

    try:
        role = Role.get_one(db.session.query, old_role_name)
        role.role_name = new_role_name
        db.session.commit()
    except Exception as e:
        abort(500)
    return jsonify(result=[dict(message="OK", request="update role", payload=str(request.json))])
Beispiel #3
0
def register_new_host(host_name, ipaddr, role_names):
    try:
        # is exist unused ip
        ip = IP.get_one(db.session.query, ipaddr)
        if not ip or ip.is_used == 1:
            raise Exception("ip does not exist or used")
        ip.is_used = 1
        db.session.flush()

        # is exist role in db
        roles = Role.get_in_role_names(db.session.query, role_names)
        if len(roles) != len(role_names):
            raise Exception("role not found")

        # insert host
        host = Host(host_name=host_name, ip=ipaddr)
        host.role = [RoleMap(role_name=role_name) for role_name in role_names]
        db.session.add(host)

    except Exception as e:
        raise e
Beispiel #4
0
def all_role():
    result = []
    roles = Role.get_all(db.session.query)
    for role in roles:
        result.append(dict(role=role.role_name))
    return jsonify(result=result)
Beispiel #5
0
def list_role():
    fmt = request.args.get("format")

    roles = Role.get_all(db.session.query)
    result = [r.role_name for r in roles]
    return formatter(fmt, result)
 def test_get_in_role_names_miss(self):
     expected = []
     self.create_test_role_data()
     roles = Role.get_in_role_names(db.session.query, ['xx', 'yy', 'zz'])
     actual = [r.role_name for r in roles]
     self.assertListEqual(sorted(expected), sorted(actual))
 def test_get_in_role_names(self):
     expected = ['db', 'cache', 'vip']
     self.create_test_role_data()
     roles = Role.get_in_role_names(db.session.query, ['db', 'cache', 'vip'])
     actual = [r.role_name for r in roles]
     self.assertListEqual(sorted(expected), sorted(actual))
 def test_get_one_miss(self):
     expected = None
     self.create_test_role_data()
     role = Role.get_one(db.session.query, 'we')
     actual = role
     self.assertEqual(expected, actual)
 def test_get_one(self):
     expected = 'web'
     self.create_test_role_data()
     role = Role.get_one(db.session.query, 'web')
     actual = role.role_name
     self.assertEqual(expected, actual)