c50ccd258f
refactor(tests): 将e2e_tests迁移到tests_suite和api_integration_tests style: 为Java类添加文档注释 docs: 更新.gitignore和配置文件 test: 添加性能测试和Playwright测试脚本 chore: 清理旧测试文件和配置
60 lines
2.1 KiB
Python
60 lines
2.1 KiB
Python
"""
|
|
角色管理API
|
|
"""
|
|
|
|
from typing import Dict, Any, List
|
|
from httpx import AsyncClient, Response
|
|
from .base_api import BaseAPI
|
|
|
|
|
|
class RoleAPI(BaseAPI):
|
|
"""角色管理API"""
|
|
|
|
def __init__(self, client: AsyncClient):
|
|
super().__init__(client, "/api/roles")
|
|
|
|
async def create_role(self, role_data: Dict[str, Any]) -> Response:
|
|
"""创建角色"""
|
|
return await self.post("", json=role_data)
|
|
|
|
async def get_role_by_id(self, role_id: int) -> Response:
|
|
"""根据ID获取角色"""
|
|
return await self.get(f"/{role_id}")
|
|
|
|
async def get_role_by_name(self, role_name: str) -> Response:
|
|
"""根据名称获取角色"""
|
|
return await self.get(f"/name/{role_name}")
|
|
|
|
async def get_all_roles(self, include_deleted: bool = False) -> Response:
|
|
"""获取所有角色"""
|
|
return await self.get("", params={"includeDeleted": include_deleted})
|
|
|
|
async def update_role(self, role_id: int, role_data: Dict[str, Any]) -> Response:
|
|
"""更新角色"""
|
|
return await self.put(f"/{role_id}", json=role_data)
|
|
|
|
async def delete_role(self, role_id: int) -> Response:
|
|
"""删除角色(逻辑删除)"""
|
|
return await self.delete(f"/{role_id}")
|
|
|
|
async def restore_role(self, role_id: int) -> Response:
|
|
"""恢复角色"""
|
|
return await self.post(f"/{role_id}/restore")
|
|
|
|
async def check_name_exists(self, role_name: str) -> Response:
|
|
"""检查角色名是否存在"""
|
|
return await self.get("/check-name", params={"name": role_name})
|
|
|
|
async def get_roles_by_page(self, page: int = 0, size: int = 10,
|
|
sort: str = "id", order: str = "asc",
|
|
keyword: str = None) -> Response:
|
|
"""分页获取角色"""
|
|
params = {"page": page, "size": size, "sort": sort, "order": order}
|
|
if keyword:
|
|
params["keyword"] = keyword
|
|
return await self.get("/page", params=params)
|
|
|
|
async def get_role_count(self) -> Response:
|
|
"""获取角色总数"""
|
|
return await self.get("/count")
|