Files
wecom_it_smart_desk/scripts/_test_admin.py
T

54 lines
2.2 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""Test admin auth flow"""
import urllib.request, json, ssl
ctx = ssl.create_default_context()
# Step 1: Mock login to get token
print("=== 1. Mock Login ===")
data = json.dumps({"employee_id": "admin001"}).encode()
req = urllib.request.Request("https://itsupport.servyou.com.cn/api/h5/mock-login", data=data, method="POST")
req.add_header("Content-Type", "application/json")
try:
resp = urllib.request.urlopen(req, context=ctx, timeout=10)
body = json.loads(resp.read().decode())
token = body["data"]["token"]
print(f"Status: {resp.status}")
print(f"Token: {token}")
print(f"Employee: {body['data'].get('employee_name')}")
except urllib.request.HTTPError as e:
body = json.loads(e.read().decode())
print(f"Error {e.code}: {json.dumps(body, ensure_ascii=False)}")
token = None
if token:
# Step 2: Try to access admin dashboard with token
print("\n=== 2. Admin Dashboard (with token) ===")
req2 = urllib.request.Request("https://itsupport.servyou.com.cn/api/admin/dashboard/overview")
req2.add_header("Authorization", f"Bearer {token}")
try:
resp = urllib.request.urlopen(req2, context=ctx, timeout=10)
print(f"Status: {resp.status}")
body = json.loads(resp.read().decode())
print(f"Code: {body.get('code')}")
print(f"Message: {body.get('message')}")
if body.get("data"):
print(f"Data keys: {list(body['data'].keys())}")
except urllib.request.HTTPError as e:
body = json.loads(e.read().decode())
print(f"Status {e.code}: {json.dumps(body, ensure_ascii=False)}")
# Step 3: List agents
print("\n=== 3. List Agents ===")
req3 = urllib.request.Request("https://itsupport.servyou.com.cn/api/admin/agents")
req3.add_header("Authorization", f"Bearer {token}")
try:
resp = urllib.request.urlopen(req3, context=ctx, timeout=10)
print(f"Status: {resp.status}")
body = json.loads(resp.read().decode())
print(f"Code: {body.get('code')}")
print(f"Data: {json.dumps(body.get('data'), ensure_ascii=False)[:300]}")
except urllib.request.HTTPError as e:
body = json.loads(e.read().decode())
print(f"Status {e.code}: {json.dumps(body, ensure_ascii=False)}")