feat: 重构项目结构并添加企业微信集成功能

- 移除旧的用户和物品相关模块及测试
- 添加企业微信路由、服务和认证功能
- 实现企业微信API集成包括获取access_token、用户信息等
- 添加统一响应模型和JWT认证工具
- 重构主应用配置为环境变量驱动
- 清理不必要的文档字符串和注释
This commit is contained in:
2025-12-15 20:14:54 +08:00
parent 3a5cc50d02
commit c0844cd73b
14 changed files with 1027 additions and 456 deletions

View File

@@ -1,92 +0,0 @@
import pytest
from fastapi.testclient import TestClient
from src.main import app
client = TestClient(app)
def test_create_user():
response = client.post(
"/users/",
json={
"email": "test@example.com",
"first_name": "Test",
"last_name": "User",
"password": "testpassword"
}
)
assert response.status_code == 201
data = response.json()
assert data["email"] == "test@example.com"
assert "id" in data
def test_read_users():
response = client.get("/users/")
assert response.status_code == 200
data = response.json()
assert isinstance(data, list)
def test_read_user():
# First create a user
response = client.post(
"/users/",
json={
"email": "test2@example.com",
"first_name": "Test2",
"last_name": "User2",
"password": "testpassword"
}
)
assert response.status_code == 201
user_id = response.json()["id"]
# Then read the user
response = client.get(f"/users/{user_id}")
assert response.status_code == 200
data = response.json()
assert data["id"] == user_id
def test_update_user():
# First create a user
response = client.post(
"/users/",
json={
"email": "test3@example.com",
"first_name": "Test3",
"last_name": "User3",
"password": "testpassword"
}
)
assert response.status_code == 201
user_id = response.json()["id"]
# Then update the user
response = client.put(
f"/users/{user_id}",
json={
"email": "updated@example.com",
"first_name": "Updated",
"last_name": "User",
"password": "updatedpassword"
}
)
assert response.status_code == 200
data = response.json()
assert data["email"] == "updated@example.com"
def test_delete_user():
# First create a user
response = client.post(
"/users/",
json={
"email": "test4@example.com",
"first_name": "Test4",
"last_name": "User4",
"password": "testpassword"
}
)
assert response.status_code == 201
user_id = response.json()["id"]
# Then delete the user
response = client.delete(f"/users/{user_id}")
assert response.status_code == 204