@echo off chcp 65001 >nul setlocal enabledelayedexpansion echo ======================================== echo 纪检初核系统 - 创建项目接口测试 echo ======================================== echo. :: 配置 set BASE_URL=http://localhost:8080 set USERNAME=admin set PASSWORD=admin123 :: 第一步:获取Token echo [1/2] 获取登录Token... curl -s -X POST "%BASE_URL%/login/test?username=%USERNAME%&password=%PASSWORD%" -H "Content-Type: application/json" > token_response.json :: 使用jq或findstr提取token(Windows兼容方式) for /f "tokens=2 delims=:" %%a in ('type token_response.json ^| findstr "token"') do ( set TOKEN_RAW=%%a ) :: 去除引号和逗号 set TOKEN=%TOKEN_RAW:"=% set TOKEN=%TOKEN:,=% set TOKEN=%TOKEN: =% echo Token获取成功: %TOKEN% echo. :: 第二步:创建项目 echo [2/2] 测试创建项目接口... :: 测试用例1:使用default配置方式创建项目 echo. echo === 测试用例1: 创建全局默认配置项目 === curl -s -X POST "%BASE_URL%/ccdi/project" ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer %TOKEN%" ^ -d "{\"projectName\":\"测试项目001\",\"description\":\"这是一个测试项目\",\"configType\":\"default\"}" echo. echo. :: 测试用例2:使用custom配置方式创建项目 echo === 测试用例2: 创建自定义配置项目 === curl -s -X POST "%BASE_URL%/ccdi/project" ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer %TOKEN%" ^ -d "{\"projectName\":\"测试项目002\",\"description\":\"自定义配置的测试项目\",\"configType\":\"custom\"}" echo. echo. :: 测试用例3:缺少必填字段(预期失败) echo === 测试用例3: 缺少必填字段(预期失败) === curl -s -X POST "%BASE_URL%/ccdi/project" ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer %TOKEN%" ^ -d "{\"description\":\"缺少项目名称\"}" echo. echo. :: 测试用例4:configType值无效(预期失败) echo === 测试用例4: configType值无效(预期失败) === curl -s -X POST "%BASE_URL%/ccdi/project" ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer %TOKEN%" ^ -d "{\"projectName\":\"测试项目003\",\"configType\":\"invalid\"}" echo. echo. :: 清理临时文件 del token_response.json 2>nul echo ======================================== echo 测试完成 echo ======================================== pause