Files
012-kaopeilian/tests/test_update_profile.py
111 998211c483 feat: 初始化考培练系统项目
- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
2026-01-24 19:33:28 +08:00

103 lines
3.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python
"""
测试更新用户个人信息(包括手机号、学校、专业)
"""
import requests
import json
# API配置
API_BASE_URL = "http://localhost:8000"
def test_update_profile():
"""测试更新个人信息"""
# 1. 先登录获取token
print("1. 登录获取token...")
login_data = {
"username": "superadmin",
"password": "Superadmin123!"
}
response = requests.post(
f"{API_BASE_URL}/api/v1/auth/login",
json=login_data
)
if response.status_code != 200:
print(f"登录失败: {response.text}")
return
token = response.json()["data"]["token"]["access_token"]
print(f"登录成功获取到token")
# 2. 获取当前用户信息
print("\n2. 获取当前用户信息...")
headers = {
"Authorization": f"Bearer {token}"
}
response = requests.get(
f"{API_BASE_URL}/api/v1/users/me",
headers=headers
)
if response.status_code == 200:
user_data = response.json()["data"]
print(f"当前用户信息:")
print(f" 用户名: {user_data.get('username')}")
print(f" 邮箱: {user_data.get('email')}")
print(f" 手机号: {user_data.get('phone', '未设置')}")
print(f" 学校: {user_data.get('school', '未设置')}")
print(f" 专业: {user_data.get('major', '未设置')}")
else:
print(f"获取用户信息失败: {response.text}")
return
# 3. 更新用户信息
print("\n3. 更新用户信息(包括手机号、学校、专业)...")
update_data = {
"phone": "13800138000",
"school": "清华大学",
"major": "计算机科学与技术",
"bio": "这是一个测试用的个人简介"
}
response = requests.put(
f"{API_BASE_URL}/api/v1/users/me",
headers=headers,
json=update_data
)
if response.status_code == 200:
print("更新成功!")
updated_data = response.json()["data"]
print(f"更新后的信息:")
print(f" 手机号: {updated_data.get('phone', '未设置')}")
print(f" 学校: {updated_data.get('school', '未设置')}")
print(f" 专业: {updated_data.get('major', '未设置')}")
print(f" 个人简介: {updated_data.get('bio', '未设置')}")
else:
print(f"更新失败: {response.text}")
# 4. 再次获取信息验证
print("\n4. 再次获取用户信息验证更新...")
response = requests.get(
f"{API_BASE_URL}/api/v1/users/me",
headers=headers
)
if response.status_code == 200:
user_data = response.json()["data"]
print(f"验证结果:")
print(f" 手机号: {user_data.get('phone', '未设置')}")
print(f" 学校: {user_data.get('school', '未设置')}")
print(f" 专业: {user_data.get('major', '未设置')}")
else:
print(f"获取用户信息失败: {response.text}")
if __name__ == "__main__":
print("测试更新用户个人信息API...")
test_update_profile()
print("\n测试完成!")