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)))
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))])
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
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)
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)