fix: 修复 YAML 块语法 body 匹配失败问题

- normalize_yaml_body 函数在解析 JSON 前添加 trim() 处理,解决 YAML `|` 和 `>` 语法产生的前导空格问题
- 修复 multiple_login.yaml 中 response body 格式错误(YAML 对象改为 JSON 字符串)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-27 17:29:40 +08:00
parent 9c1d0e16b4
commit 696587615e
8 changed files with 261 additions and 174 deletions

View File

@@ -1,28 +0,0 @@
id: "auth_login_001"
request:
method: "POST"
path: "/api/v1/auth/login"
# 必须包含此 Header 才会匹配
headers:
Content-Type: "application/json"
Authorization: "111"
host: "127.0.0.1:8080"
body: >
{
"username":"user",
"password":"123"
}
response:
status: 200
headers:
Content-Type: "application/json"
X-Mock-Engine: "Rust-Gemini-v1.2"
# 直接内联 JSON 字符串
body: >
{
"code": 0,
"data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6" },
"msg": "success"
}
settings:
delay_ms: 2000 # 模拟真实网络延迟

View File

@@ -1,50 +0,0 @@
- id: "auth_login_out_001"
request:
method: "POST"
path: "/api/v1/auth/login_out"
# 必须包含此 Header 才会匹配
headers:
Content-Type: "application/json"
Authorization: "111"
host: "127.0.0.1:8080"
body:
type: true
response:
status: 200
headers:
Content-Type: "application/json"
X-Mock-Engine: "Rust-Gemini-v1.2"
# 直接内联 JSON 字符串
body: >
{
"code": 0,
"data": "退出成功",
"msg": "success"
}
settings:
delay_ms: 200 # 模拟真实网络延迟
- id: "auth_login_out_002"
request:
method: "POST"
path: "/api/v1/auth/login_out"
# 必须包含此 Header 才会匹配
headers:
Content-Type: "application/json"
Authorization: "111"
host: "127.0.0.1:8080"
body:
type: false
response:
status: 200
headers:
Content-Type: "application/json"
X-Mock-Engine: "Rust-Gemini-v1.2"
# 直接内联 JSON 字符串
body: >
{
"code": 1,
"data": "退出失败",
"msg": "success"
}
settings:
delay_ms: 200 # 模拟真实网络延迟

View File

@@ -0,0 +1,118 @@
# 用户登录 - JSON 格式
- name: "user_login_002"
request:
path: "/v1/auth/login"
method: "POST"
headers:
Content-Type: "application/json"
Authorization: "eyJhbGciOiJIUzI1NiIsInR5cCI6"
host: "127.0.0.1:8080"
body: >
{
"username": "user002",
"password": "password123"
}
response:
status: 200
headers:
Content-Type: "application/json"
body: |
{
"code": 0,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6",
"userId": 10002,
"username": "user002",
"role": "administrator"
}
}
settings:
delay_ms: 2000 # 模拟真实网络延迟
- name: "user_login_003"
request:
path: "/v1/auth/login"
method: "POST"
headers:
Content-Type: "application/json"
Authorization: "eyJhbGciOiJIUzI1NiIsInR5cCI6"
host: "127.0.0.1:8080"
body: |
{
"username": "user003",
"password": "password123"
}
response:
status: 200
headers:
Content-Type: "application/json"
body: >
{
"code": 0,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6",
"userId": 10003,
"username": "user003",
"role": "administrator"
}
}
settings:
delay_ms: 2000 # 模拟真实网络延迟
- name: "user_login_004"
request:
path: "/v1/auth/login"
method: "POST"
headers:
Content-Type: "application/json"
Authorization: "eyJhbGciOiJIUzI1NiIsInR5cCI6"
host: "127.0.0.1:8080"
body: |
{
"username": "user004",
"password": "password123"
}
response:
status: 200
headers:
Content-Type: "application/json"
body: |
{
"code": 0,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6",
"userId": 10004,
"username": "user004",
"role": "administrator"
}
}
- name: "user_login_005"
request:
path: "/v1/auth/login"
method: "POST"
headers:
Content-Type: "application/json"
Authorization: "eyJhbGciOiJIUzI1NiIsInR5cCI6"
host: "127.0.0.1:8080"
body:
username: "user005"
password: "password123"
response:
status: 200
headers:
Content-Type: "application/json"
body: |
{
"code": 0,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6",
"userId": 10005,
"username": "user005",
"role": "administrator"
}
}