test_roles.py
1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import random
import string
from typing import Dict
from client import ApiClient
def _rand_suffix(n: int = 5) -> str:
import random as _r, string as _s
return ''.join(_r.choice(_s.ascii_lowercase + _s.digits) for _ in range(n))
def run_role_tests(base_url: str = 'http://localhost:8083') -> None:
client = ApiClient(base_url)
# 1) 角色列表
resp = client.get('/api/system/role/list', params={'pageNum': 1, 'pageSize': 5})
print('角色列表 status=', resp.status_code)
print(resp.text)
# 2) 新增角色
new_role: Dict = {
'roleCode': f'test_{_rand_suffix()}',
'roleName': '接口测试角色',
'status': 1,
'menuIds': [] # 如有菜单ID可填充
}
resp = client.post('/api/system/role/add', new_role)
print('新增角色 status=', resp.status_code)
print(resp.text)
role_id = None
try:
lst = client.get('/api/system/role/list', params={'roleCode': new_role['roleCode'], 'pageNum': 1, 'pageSize': 1}).json()
records = ((lst.get('data') or {}).get('records') or [])
if records:
role_id = records[0].get('roleId')
except Exception:
pass
# 3) 编辑角色
if role_id:
edit_body = {
'roleId': role_id,
'roleCode': new_role['roleCode'],
'roleName': '接口测试角色-已修改',
'status': 1,
'menuIds': []
}
resp = client.post('/api/system/role/edit', edit_body)
print('编辑角色 status=', resp.status_code)
print(resp.text)
# 4) 停用角色
resp = client.post('/api/system/role/changeStatus', {'roleId': role_id, 'status': 0})
print('修改角色状态 status=', resp.status_code)
print(resp.text)
# 5) 删除角色
resp = client.delete(f'/api/system/role/{role_id}')
print('删除角色 status=', resp.status_code)
print(resp.text)
if __name__ == '__main__':
run_role_tests()