189 lines
6.4 KiB
Batchfile
189 lines
6.4 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
setlocal
|
|
|
|
set "BASE_URL=http://localhost:8080"
|
|
set "OUTPUT_DIR=doc\implementation\test-results"
|
|
set "TEST_FILE=%OUTPUT_DIR%\staff-enterprise-relation-status-fix-test_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt"
|
|
set "TEST_FILE=%TEST_FILE: =0%"
|
|
|
|
echo ========================================
|
|
echo 员工实体关系状态默认值修复验证测试
|
|
echo ========================================
|
|
echo 测试时间: %date% %time%
|
|
echo.
|
|
|
|
REM 创建输出目录
|
|
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
|
|
|
|
REM ========================================
|
|
REM 1. 登录获取Token
|
|
REM ========================================
|
|
echo [步骤1] 登录系统获取Token...
|
|
curl -s -X POST "%BASE_URL%/login/test" ^
|
|
-H "Content-Type: application/json" ^
|
|
-d "{\"username\":\"admin\",\"password\":\"admin123\"}" ^
|
|
> "%OUTPUT_DIR%\login_response.json"
|
|
|
|
REM 提取token
|
|
for /f "tokens=2 delims=:," %%a in ('findstr /C:"\"token\"" "%OUTPUT_DIR%\login_response.json"') do (
|
|
set "token_line=%%a"
|
|
set "token=%%a"
|
|
)
|
|
REM 去除引号和空格
|
|
set "TOKEN=%token_line:"=%"
|
|
set "TOKEN=%TOKEN: =%"
|
|
|
|
echo Token获取成功: %TOKEN:~0,20%...
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 2. 测试新增接口(不传status字段)
|
|
REM ========================================
|
|
echo [步骤2] 测试新增接口(不传status字段)...
|
|
set "TEST_ID_1=%random%"
|
|
curl -s -X POST "%BASE_URL%/ccdi/staffEnterpriseRelation" ^
|
|
-H "Authorization: Bearer %TOKEN%" ^
|
|
-H "Content-Type: application/json" ^
|
|
-d "{\"personId\":\"11010119900101123%TEST_ID_1%\",\"socialCreditCode\":\"91110000123456789%TEST_ID_1%\",\"enterpriseName\":\"测试企业A\",\"relationPersonPost\":\"测试职务\"}" ^
|
|
> "%OUTPUT_DIR%\add_test1_response.json"
|
|
|
|
echo.
|
|
echo 响应结果:
|
|
type "%OUTPUT_DIR%\add_test1_response.json"
|
|
echo.
|
|
|
|
REM 解析响应中的ID
|
|
for /f "tokens=2 delims=:," %%a in ('findstr /C:"\"data\"" "%OUTPUT_DIR%\add_test1_response.json"') do set "INSERT_ID_1=%%a"
|
|
set "INSERT_ID_1=%INSERT_ID_1:" =%"
|
|
set "INSERT_ID_1=%INSERT_ID_1:}=%"
|
|
|
|
echo 新增记录ID: %INSERT_ID_1%
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 3. 查询新增记录的状态
|
|
REM ========================================
|
|
echo [步骤3] 查询新增记录的状态...
|
|
curl -s -X GET "%BASE_URL%/ccdi/staffEnterpriseRelation/%INSERT_ID_1%" ^
|
|
-H "Authorization: Bearer %TOKEN%" ^
|
|
> "%OUTPUT_DIR%\query_test1_response.json"
|
|
|
|
echo.
|
|
echo 查询结果:
|
|
type "%OUTPUT_DIR%\query_test1_response.json"
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 4. 测试新增接口(传status=0,应被覆盖为1)
|
|
REM ========================================
|
|
echo [步骤4] 测试新增接口(传status=0,应被覆盖为1)...
|
|
set "TEST_ID_2=%random%"
|
|
curl -s -X POST "%BASE_URL%/ccdi/staffEnterpriseRelation" ^
|
|
-H "Authorization: Bearer %TOKEN%" ^
|
|
-H "Content-Type: application/json" ^
|
|
-d "{\"personId\":\"11010119900101124%TEST_ID_2%\",\"socialCreditCode\":\"91110000123456780%TEST_ID_2%\",\"enterpriseName\":\"测试企业B\",\"relationPersonPost\":\"测试职务\",\"status\":0}" ^
|
|
> "%OUTPUT_DIR%\add_test2_response.json"
|
|
|
|
echo.
|
|
echo 响应结果:
|
|
type "%OUTPUT_DIR%\add_test2_response.json"
|
|
echo.
|
|
|
|
REM 解析响应中的ID
|
|
for /f "tokens=2 delims=:," %%a in ('findstr /C:"\"data\"" "%OUTPUT_DIR%\add_test2_response.json"') do set "INSERT_ID_2=%%a"
|
|
set "INSERT_ID_2=%INSERT_ID_2:" =%"
|
|
set "INSERT_ID_2=%INSERT_ID_2:}=%"
|
|
|
|
echo 新增记录ID: %INSERT_ID_2%
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 5. 查询第二条记录的状态
|
|
REM ========================================
|
|
echo [步骤5] 查询第二条记录的状态(验证是否被强制设置为1)...
|
|
curl -s -X GET "%BASE_URL%/ccdi/staffEnterpriseRelation/%INSERT_ID_2%" ^
|
|
-H "Authorization: Bearer %TOKEN%" ^
|
|
> "%OUTPUT_DIR%\query_test2_response.json"
|
|
|
|
echo.
|
|
echo 查询结果:
|
|
type "%OUTPUT_DIR%\query_test2_response.json"
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 6. 清理测试数据
|
|
REM ========================================
|
|
echo [步骤6] 清理测试数据...
|
|
curl -s -X DELETE "%BASE_URL%/ccdi/staffEnterpriseRelation/%INSERT_ID_1%" ^
|
|
-H "Authorization: Bearer %TOKEN%" ^
|
|
> "%OUTPUT_DIR%\delete_test1_response.json"
|
|
|
|
curl -s -X DELETE "%BASE_URL%/ccdi/staffEnterpriseRelation/%INSERT_ID_2%" ^
|
|
-H "Authorization: Bearer %TOKEN%" ^
|
|
> "%OUTPUT_DIR%\delete_test2_response.json"
|
|
|
|
echo 测试数据已清理
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 7. 生成测试报告
|
|
REM ========================================
|
|
echo ========================================
|
|
echo 测试结果分析
|
|
echo ========================================
|
|
echo.
|
|
echo 测试用例1: 不传status字段
|
|
echo 预期结果: status = 1 (有效)
|
|
echo 实际结果: 请查看 query_test1_response.json 中的status字段
|
|
echo.
|
|
echo 测试用例2: 传status=0
|
|
echo 预期结果: status = 1 (有效,被强制覆盖)
|
|
echo 实际结果: 请查看 query_test2_response.json 中的status字段
|
|
echo.
|
|
echo 详细响应数据保存在: %OUTPUT_DIR%\
|
|
echo.
|
|
|
|
REM 将所有输出保存到测试文件
|
|
(
|
|
echo ========================================
|
|
echo 员工实体关系状态默认值修复验证测试报告
|
|
echo ========================================
|
|
echo 测试时间: %date% %time%
|
|
echo.
|
|
echo ========================================
|
|
echo 测试用例1: 不传status字段
|
|
echo ========================================
|
|
echo 请求: POST /ccdi/staffEnterpriseRelation
|
|
echo 请求体: {personId, socialCreditCode, enterpriseName, relationPersonPost}
|
|
echo.
|
|
echo 新增响应:
|
|
type "%OUTPUT_DIR%\add_test1_response.json"
|
|
echo.
|
|
echo 查询响应:
|
|
type "%OUTPUT_DIR%\query_test1_response.json"
|
|
echo.
|
|
echo ========================================
|
|
echo 测试用例2: 传status=0
|
|
echo ========================================
|
|
echo 请求: POST /ccdi/staffEnterpriseRelation
|
|
echo 请求体: {personId, socialCreditCode, enterpriseName, relationPersonPost, status: 0}
|
|
echo.
|
|
echo 新增响应:
|
|
type "%OUTPUT_DIR%\add_test2_response.json"
|
|
echo.
|
|
echo 查询响应:
|
|
type "%OUTPUT_DIR%\query_test2_response.json"
|
|
echo.
|
|
echo ========================================
|
|
echo 结论
|
|
echo ========================================
|
|
echo 如果两个测试用例的查询结果中status字段都为1,
|
|
echo 则说明修复成功,新增操作强制设置状态为有效。
|
|
echo.
|
|
) > "%TEST_FILE%"
|
|
|
|
echo 测试完成!报告已保存至: %TEST_FILE%
|
|
echo.
|
|
pause
|