文件夹整理
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
import requests
|
||||
import json
|
||||
|
||||
# 配置
|
||||
BASE_URL = "http://localhost:8080"
|
||||
LOGIN_URL = f"{BASE_URL}/login/test"
|
||||
IMPORT_URL = f"{BASE_URL}/ccdi/employee/importData"
|
||||
|
||||
# 测试账号
|
||||
username = "admin"
|
||||
password = "admin123"
|
||||
|
||||
# 登录获取token
|
||||
def login():
|
||||
"""登录获取token"""
|
||||
print("正在登录...")
|
||||
response = requests.post(LOGIN_URL, data={
|
||||
"username": username,
|
||||
"password": password
|
||||
})
|
||||
|
||||
if response.status_code == 200:
|
||||
result = response.json()
|
||||
if result.get("code") == 200:
|
||||
token = result.get("token")
|
||||
print(f"登录成功,获取到token: {token[:20]}...")
|
||||
return token
|
||||
else:
|
||||
print(f"登录失败: {result.get('msg')}")
|
||||
exit(1)
|
||||
else:
|
||||
print(f"登录请求失败: {response.status_code}")
|
||||
exit(1)
|
||||
|
||||
# 准备测试Excel文件(需要手动准备)
|
||||
def test_duplicate_detection():
|
||||
"""测试Excel内双字段重复检测"""
|
||||
token = login()
|
||||
|
||||
headers = {
|
||||
"Authorization": f"Bearer {token}"
|
||||
}
|
||||
|
||||
# 测试场景1: 柜员号在Excel内重复
|
||||
print("\n=== 测试场景1: 柜员号在Excel内重复 ===")
|
||||
print("准备包含重复柜员号的Excel文件...")
|
||||
print("期望结果: 第二条记录应该被标记为失败,错误信息包含'柜员号[XXX]在导入文件中重复'")
|
||||
|
||||
# 测试场景2: 身份证号在Excel内重复
|
||||
print("\n=== 测试场景2: 身份证号在Excel内重复 ===")
|
||||
print("准备包含重复身份证号的Excel文件...")
|
||||
print("期望结果: 第二条记录应该被标记为失败,错误信息包含'身份证号[XXX]在导入文件中重复'")
|
||||
|
||||
# 测试场景3: 柜员号和身份证号同时重复
|
||||
print("\n=== 测试场景3: 柜员号和身份证号同时重复 ===")
|
||||
print("准备包含同时重复柜员号和身份证号的Excel文件...")
|
||||
print("期望结果: 两条记录都应该被标记为失败")
|
||||
|
||||
# 测试场景4: 柜员号在数据库中存在
|
||||
print("\n=== 测试场景4: 柜员号在数据库中存在 ===")
|
||||
print("准备包含已存在柜员号的Excel文件...")
|
||||
print("期望结果: 如果启用更新支持,则更新;否则报错'柜员号已存在且未启用更新支持'")
|
||||
|
||||
# 测试场景5: 身份证号在数据库中存在
|
||||
print("\n=== 测试场景5: 身份证号在数据库中存在 ===")
|
||||
print("准备包含已存在身份证号的Excel文件...")
|
||||
print("期望结果: 如果是新增(柜员号不存在),则报错'该身份证号已存在'")
|
||||
|
||||
# 测试场景6: 正常导入
|
||||
print("\n=== 测试场景6: 正常导入(无重复) ===")
|
||||
print("准备无重复的Excel文件...")
|
||||
print("期望结果: 所有记录都应该成功导入")
|
||||
|
||||
print("\n=== 测试说明 ===")
|
||||
print("请手动准备Excel文件,使用以下接口测试:")
|
||||
print(f"POST {IMPORT_URL}")
|
||||
print("Headers:")
|
||||
print(f" Authorization: Bearer {token[:20]}...")
|
||||
print("Body (multipart/form-data):")
|
||||
print(" file: [Excel文件]")
|
||||
print(" updateSupport: [true/false]")
|
||||
|
||||
print("\n=== 查询导入状态 ===")
|
||||
print("导入后可以使用以下接口查询状态:")
|
||||
STATUS_URL = f"{BASE_URL}/ccdi/employee/importStatus"
|
||||
print(f"GET {STATUS_URL}?taskId={{taskId}}")
|
||||
|
||||
print("\n=== 查询失败记录 ===")
|
||||
print("导入失败时可以使用以下接口查询失败记录:")
|
||||
FAILURES_URL = f"{BASE_URL}/ccdi/employee/importFailures"
|
||||
print(f"GET {FAILURES_URL}?taskId={{taskId}}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_duplicate_detection()
|
||||
Reference in New Issue
Block a user