test_auth.py
1.14 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
import os
import sys
from typing import Tuple
from client import ApiClient
BASE_URL = os.environ.get('API_BASE_URL', 'http://localhost:8083')
def login_and_print_token(username: str, password: str) -> Tuple[bool, str]:
client = ApiClient(BASE_URL)
resp = client.post('/api/auth/login', {
'username': username,
'password': password
}, auth=False)
try:
data = resp.json()
except Exception:
print('登录接口返回非JSON,status=', resp.status_code)
print(resp.text)
return False, ''
if resp.status_code == 200 and isinstance(data, dict) and data.get('code') == 200:
token = (data.get('data') or {}).get('token')
if token:
print('登录成功,token=')
print(token)
client.set_token(token)
return True, token
print('登录成功但未返回token,完整返回:', data)
return False, ''
print('登录失败:', data)
return False, ''
if __name__ == '__main__':
# 默认账户可根据实际系统修改
username = sys.argv[1] if len(sys.argv) > 1 else 'admin'
password = sys.argv[2] if len(sys.argv) > 2 else 'password'
success, _ = login_and_print_token(username, password)
sys.exit(0 if success else 1)