2025-06-26 10:13:39 +08:00

2385 lines
98 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"start_time": "2025-06-26T01:39:27.231128",
"end_time": "2025-06-26T01:39:56.191200",
"duration_seconds": "28.96",
"overall_summary": {
"total_endpoints_defined": 6,
"endpoints_tested": 6,
"endpoints_passed": 0,
"endpoints_failed": 6,
"endpoints_error": 0,
"endpoints_skipped": 0,
"endpoints_partial_success": 0,
"endpoint_success_rate": "0.00%",
"total_test_cases_applicable": 114,
"total_test_cases_executed": 114,
"test_cases_passed": 78,
"test_cases_failed": 36,
"test_cases_error": 0,
"test_cases_skipped_in_endpoint": 0,
"test_case_success_rate": "68.42%",
"total_stages_defined": 1,
"total_stages_executed": 1,
"stages_passed": 0,
"stages_failed": 1,
"stages_error": 0,
"stages_skipped": 0,
"stage_success_rate": "0.00%"
},
"errors": [],
"endpoint_results": [
{
"endpoint_id": "POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}",
"endpoint_name": "数据推送接口",
"overall_status": "失败",
"duration_seconds": 8.577278,
"start_time": "2025-06-26T01:39:27.232004",
"end_time": "2025-06-26T01:39:35.809282",
"executed_test_cases": [
{
"test_case_id": "TC-HEADER-001",
"test_case_name": "必需请求头Schema验证",
"test_case_severity": "严重",
"status": "失败",
"message": "缺少必需的请求头 X-Tenant-ID;缺少必需的请求头 X-Data-Domain",
"duration_seconds": 0.1573224999010563,
"timestamp": "2025-06-26T01:39:27.389483",
"validation_points": [
{
"header": "X-Tenant-ID",
"possible_names": [
"X-Tenant-ID"
],
"endpoint": "POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}"
},
{
"header": "X-Data-Domain",
"possible_names": [
"X-Data-Domain"
],
"endpoint": "POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}"
}
]
},
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.027048708987422287,
"timestamp": "2025-06-26T01:39:27.416596",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"test_case_id": "TC-SECURITY-002",
"test_case_name": "敏感字段加密检查",
"test_case_severity": "高",
"status": "通过",
"message": "未在响应中找到需要检查的敏感字段。",
"duration_seconds": 0.018166915979236364,
"timestamp": "2025-06-26T01:39:27.434815",
"validation_points": [
{
"passed": true,
"message": "未在响应中找到需要检查的敏感字段。"
}
]
},
{
"test_case_id": "TC-LLM-COMPLIANCE-001",
"test_case_name": "LLM合规性综合检查",
"test_case_severity": "中",
"status": "失败",
"message": "[API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除] 不通过: 该接口使用了POST方法但其描述为'数据推送接口',语义上更接近于创建操作。然而,根据路径模板'/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'中的'push',这可能表示一种非标准的资源操作(如消息发送)。若此接口仅用于推送或触发行为而非创建资源,则应考虑是否符合业务场景的合理性,当前无法明确判断是否完全合规。",
"duration_seconds": 8.01785220799502,
"timestamp": "2025-06-26T01:39:35.452574",
"validation_points": [
{
"criterion": "API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除",
"llm_reason": "该接口使用了POST方法但其描述为'数据推送接口',语义上更接近于创建操作。然而,根据路径模板'/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'中的'push',这可能表示一种非标准的资源操作(如消息发送)。若此接口仅用于推送或触发行为而非创建资源,则应考虑是否符合业务场景的合理性,当前无法明确判断是否完全合规。"
}
]
},
{
"test_case_id": "TC-RESTful-001",
"test_case_name": "核心命名与结构规范检查",
"test_case_severity": "高",
"status": "通过",
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。;规范中未找到响应码 200 或其类别(2XX, default)的匹配定义跳过空数组与null的检查。",
"duration_seconds": 0.04609170800540596,
"timestamp": "2025-06-26T01:39:35.498860",
"validation_points": [
{
"passed": true,
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。"
},
{
"passed": true,
"message": "规范中未找到响应码 200 或其类别(2XX, default)的匹配定义跳过空数组与null的检查。"
}
]
},
{
"test_case_id": "TC-DMS-PAGINATION-001",
"test_case_name": "分页参数检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查API不符合分页参数检查的准入规则需包含'查询'/'列表'等关键词,且不包含'详情'等关键词)",
"duration_seconds": 0.03317662503104657,
"timestamp": "2025-06-26T01:39:35.532146",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}",
"method": "POST",
"summary": "数据推送接口",
"contains_include_keyword": false,
"contains_exclude_keyword": false
}
]
},
{
"test_case_id": "TC-RESTful-004",
"test_case_name": "资源集合复数命名检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 的最后一个路径分段 'push' 是动词,不需要使用复数形式。",
"duration_seconds": 0.02540550008416176,
"timestamp": "2025-06-26T01:39:35.557954",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 的最后一个路径分段 'push' 是动词,不需要使用复数形式。"
}
]
},
{
"test_case_id": "TC-RESTful-002",
"test_case_name": "资源路径名词检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 符合资源名词命名规范。",
"duration_seconds": 0.02397904102690518,
"timestamp": "2025-06-26T01:39:35.582145",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 符合资源名词命名规范。"
}
]
},
{
"test_case_id": "TC-DMS-CORE-SCHEMA-001",
"test_case_name": "DMS核心存储服务API响应格式检查",
"test_case_severity": "高",
"status": "通过",
"message": "字段'code'在schema中未标记为必填(required);字段'message'在schema中未标记为必填(required);字段'data'在schema中未标记为必填(required);响应schema符合标准格式: {'code':int or number or string, 'message':string, 'data': any}",
"duration_seconds": 0.01893962500616908,
"timestamp": "2025-06-26T01:39:35.601529",
"validation_points": [
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201"
}
]
},
{
"test_case_id": "TC-CORE-FUNC-001",
"test_case_name": "Response Body JSON Schema Validation",
"test_case_severity": "严重",
"status": "通过",
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。",
"duration_seconds": 0.02425337501335889,
"timestamp": "2025-06-26T01:39:35.626076",
"validation_points": [
{
"passed": true,
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。"
}
]
},
{
"test_case_id": "TC-RESTful-003",
"test_case_name": "时间字段ISO 8601格式检查",
"test_case_severity": "中",
"status": "通过",
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。",
"duration_seconds": 0.018966584000736475,
"timestamp": "2025-06-26T01:39:35.645328",
"validation_points": [
{
"passed": true,
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。"
}
]
},
{
"test_case_id": "TC-DMS-URL-VERSION-001",
"test_case_name": "DMS API URL版本号检查",
"test_case_severity": "中",
"status": "通过",
"message": "API路径 '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 正确以'/api/'开头;API路径 '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 包含版本标识: 'v1'",
"duration_seconds": 0.0224246249999851,
"timestamp": "2025-06-26T01:39:35.668195",
"validation_points": [
{
"full_path": "/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}"
},
{
"pattern_matched": "/v\\d+/",
"version_string": "v1",
"full_path": "/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}"
}
]
},
{
"test_case_id": "TC-SECURITY-001",
"test_case_name": "HTTPS Protocol Mandatory Verification",
"test_case_severity": "严重",
"status": "失败",
"message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version) 响应了成功的状态码 200这违反了HTTPS强制策略。",
"duration_seconds": 0.02028195804450661,
"timestamp": "2025-06-26T01:39:35.688828",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code -1 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。",
"duration_seconds": 0.018297500093467534,
"timestamp": "2025-06-26T01:39:35.707443",
"validation_points": [
{
"passed": true,
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code -1 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'isSearchCount' 类型不匹配时, 业务错误码应为 -1但实际为 4006。",
"duration_seconds": 0.018247541971504688,
"timestamp": "2025-06-26T01:39:35.725880",
"validation_points": [
{
"expected_code": -1,
"actual_code": 4006,
"response_body": {
"code": 4006,
"message": "est officia in sit culpa",
"data": {
"total": 15,
"list": [
{
"dsid": "97",
"dataRegion": "ullamco est irure quis in",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null,
"key": 123
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4002",
"test_case_name": "Error Code -1 - Number Value Out of Range Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确范围限制的数值字段。",
"duration_seconds": 0.02171395905315876,
"timestamp": "2025-06-26T01:39:35.747727",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确范围限制的数值字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4006",
"test_case_name": "Error Code 4006 - Invalid Enum Value Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当 body 字段 'logic' 值为 'invalid_enum_285q23' (合法值为: ['AND', 'OR']) 时, 业务错误码应为 -1但实际为 4006。",
"duration_seconds": 0.019246499985456467,
"timestamp": "2025-06-26T01:39:35.767293",
"validation_points": [
{
"expected_code": -1,
"actual_code": 4006,
"response_body": {
"code": 4006,
"message": "est officia in sit culpa",
"data": {
"total": 15,
"list": [
{
"dsid": "97",
"dataRegion": "ullamco est irure quis in",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null,
"key": 123
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code -1 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.019780749920755625,
"timestamp": "2025-06-26T01:39:35.787361",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code -1 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.02159224997740239,
"timestamp": "2025-06-26T01:39:35.809181",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。"
}
]
}
]
},
{
"endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
"endpoint_name": "地质单元列表查询",
"overall_status": "失败",
"duration_seconds": 3.327235,
"start_time": "2025-06-26T01:39:35.809386",
"end_time": "2025-06-26T01:39:39.136621",
"executed_test_cases": [
{
"test_case_id": "TC-HEADER-001",
"test_case_name": "必需请求头Schema验证",
"test_case_severity": "严重",
"status": "失败",
"message": "缺少必需的请求头 X-Tenant-ID;缺少必需的请求头 X-Data-Domain",
"duration_seconds": 0.02804733405355364,
"timestamp": "2025-06-26T01:39:35.837903",
"validation_points": [
{
"header": "X-Tenant-ID",
"possible_names": [
"X-Tenant-ID"
],
"endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}"
},
{
"header": "X-Data-Domain",
"possible_names": [
"X-Data-Domain"
],
"endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}"
}
]
},
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.017355583026073873,
"timestamp": "2025-06-26T01:39:35.855397",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"test_case_id": "TC-SECURITY-002",
"test_case_name": "敏感字段加密检查",
"test_case_severity": "高",
"status": "通过",
"message": "未在响应中找到需要检查的敏感字段。",
"duration_seconds": 0.01858783303759992,
"timestamp": "2025-06-26T01:39:35.874104",
"validation_points": [
{
"passed": true,
"message": "未在响应中找到需要检查的敏感字段。"
}
]
},
{
"test_case_id": "TC-LLM-COMPLIANCE-001",
"test_case_name": "LLM合规性综合检查",
"test_case_severity": "中",
"status": "失败",
"message": "[API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除] 不通过: 该API的用途是地质单元列表查询属于数据检索操作根据合规性标准应使用GET方法。但实际使用的HTTP方法为POST因此不符合该标准。",
"duration_seconds": 2.9185146669624373,
"timestamp": "2025-06-26T01:39:38.792811",
"validation_points": [
{
"criterion": "API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除",
"llm_reason": "该API的用途是地质单元列表查询属于数据检索操作根据合规性标准应使用GET方法。但实际使用的HTTP方法为POST因此不符合该标准。"
}
]
},
{
"test_case_id": "TC-RESTful-001",
"test_case_name": "核心命名与结构规范检查",
"test_case_severity": "高",
"status": "通过",
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。;规范中未找到响应码 200 或其类别(2XX, default)的匹配定义跳过空数组与null的检查。",
"duration_seconds": 0.051680709002539515,
"timestamp": "2025-06-26T01:39:38.844816",
"validation_points": [
{
"passed": true,
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。"
},
{
"passed": true,
"message": "规范中未找到响应码 200 或其类别(2XX, default)的匹配定义跳过空数组与null的检查。"
}
]
},
{
"test_case_id": "TC-DMS-PAGINATION-001",
"test_case_name": "分页参数检查",
"test_case_severity": "中",
"status": "通过",
"message": "API请求包含所有标准分页参数pageNo、pageSize和isSearchCount",
"duration_seconds": 0.02976658393163234,
"timestamp": "2025-06-26T01:39:38.874706",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
"method": "POST"
}
]
},
{
"test_case_id": "TC-RESTful-004",
"test_case_name": "资源集合复数命名检查",
"test_case_severity": "中",
"status": "失败",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 的最后一个路径分段 'cd_geo_unit' 可能不是复数形式,建议对资源集合使用复数命名。",
"duration_seconds": 0.025662291911430657,
"timestamp": "2025-06-26T01:39:38.900753",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
"segment": "cd_geo_unit"
}
]
},
{
"test_case_id": "TC-RESTful-002",
"test_case_name": "资源路径名词检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 符合资源名词命名规范。",
"duration_seconds": 0.028793124947696924,
"timestamp": "2025-06-26T01:39:38.929823",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 符合资源名词命名规范。"
}
]
},
{
"test_case_id": "TC-DMS-CORE-SCHEMA-001",
"test_case_name": "DMS核心存储服务API响应格式检查",
"test_case_severity": "高",
"status": "通过",
"message": "字段'code'在schema中未标记为必填(required);字段'message'在schema中未标记为必填(required);字段'data'在schema中未标记为必填(required);响应schema符合标准格式: {'code':int or number or string, 'message':string, 'data': any}",
"duration_seconds": 0.03037541708908975,
"timestamp": "2025-06-26T01:39:38.960491",
"validation_points": [
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201"
}
]
},
{
"test_case_id": "TC-CORE-FUNC-001",
"test_case_name": "Response Body JSON Schema Validation",
"test_case_severity": "严重",
"status": "通过",
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。",
"duration_seconds": 0.02273941703606397,
"timestamp": "2025-06-26T01:39:38.983478",
"validation_points": [
{
"passed": true,
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。"
}
]
},
{
"test_case_id": "TC-RESTful-003",
"test_case_name": "时间字段ISO 8601格式检查",
"test_case_severity": "中",
"status": "通过",
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。",
"duration_seconds": 0.018301500007510185,
"timestamp": "2025-06-26T01:39:39.001849",
"validation_points": [
{
"passed": true,
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。"
}
]
},
{
"test_case_id": "TC-DMS-URL-VERSION-001",
"test_case_name": "DMS API URL版本号检查",
"test_case_severity": "中",
"status": "通过",
"message": "API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 正确以'/api/'开头;API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 包含版本标识: 'v1'",
"duration_seconds": 0.014728582929819822,
"timestamp": "2025-06-26T01:39:39.016744",
"validation_points": [
{
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}"
},
{
"pattern_matched": "/v\\d+/",
"version_string": "v1",
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}"
}
]
},
{
"test_case_id": "TC-SECURITY-001",
"test_case_name": "HTTPS Protocol Mandatory Verification",
"test_case_severity": "严重",
"status": "失败",
"message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0) 响应了成功的状态码 200这违反了HTTPS强制策略。",
"duration_seconds": 0.01718470803461969,
"timestamp": "2025-06-26T01:39:39.034032",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code -1 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当查询参数 'pageNo' (路径: 'pageNo') 类型不匹配时, 业务错误码应为 -1但实际为 87。",
"duration_seconds": 0.02184750000014901,
"timestamp": "2025-06-26T01:39:39.056043",
"validation_points": [
{
"expected_code": -1,
"actual_code": 87,
"response_body": {
"code": 87,
"message": "aliquip minim",
"data": {
"total": 50,
"list": [
{
"dsid": "85",
"dataRegion": "occaecat in ut exercitation tempor",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "17",
"dataRegion": "adipisicing fugiat minim",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "99",
"dataRegion": "irure proident nostrud magna nisi",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code -1 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'isSearchCount' 类型不匹配时, 业务错误码应为 -1但实际为 78。",
"duration_seconds": 0.015143917058594525,
"timestamp": "2025-06-26T01:39:39.071246",
"validation_points": [
{
"expected_code": -1,
"actual_code": 78,
"response_body": {
"code": 78,
"message": "nisi",
"data": {
"total": 84,
"list": [
{
"dsid": "50",
"dataRegion": "minim incididunt qui ipsum",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "83",
"dataRegion": "aute minim Ut sit anim",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4002",
"test_case_name": "Error Code -1 - Number Value Out of Range Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当 query 字段 'pageNo' 值为 0.0 (超出范围: min=1.0, max=None) 时, 业务错误码应为 -1但实际为 32。",
"duration_seconds": 0.015010999981313944,
"timestamp": "2025-06-26T01:39:39.086310",
"validation_points": [
{
"expected_code": -1,
"actual_code": 32,
"response_body": {
"code": 32,
"message": "ut ad dolore in officia",
"data": {
"total": 88,
"list": [
{
"dsid": "84",
"dataRegion": "dolor",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "32",
"dataRegion": "dolore labore",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "21",
"dataRegion": "minim incididunt eu irure",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4006",
"test_case_name": "Error Code 4006 - Invalid Enum Value Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当 body 字段 'logic' 值为 'invalid_enum_c2hv3q' (合法值为: ['AND', 'OR']) 时, 业务错误码应为 -1但实际为 16。",
"duration_seconds": 0.014421624946407974,
"timestamp": "2025-06-26T01:39:39.100784",
"validation_points": [
{
"expected_code": -1,
"actual_code": 16,
"response_body": {
"code": 16,
"message": "eu ad cillum aliquip",
"data": {
"total": 52,
"list": [
{
"dsid": "5",
"dataRegion": "Duis mollit",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code -1 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.016146583948284388,
"timestamp": "2025-06-26T01:39:39.117239",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code -1 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.019064625026658177,
"timestamp": "2025-06-26T01:39:39.136471",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。"
}
]
}
]
},
{
"endpoint_id": "PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"endpoint_name": "地质单元数据修改",
"overall_status": "失败",
"duration_seconds": 3.669432,
"start_time": "2025-06-26T01:39:39.136724",
"end_time": "2025-06-26T01:39:42.806156",
"executed_test_cases": [
{
"test_case_id": "TC-HEADER-001",
"test_case_name": "必需请求头Schema验证",
"test_case_severity": "严重",
"status": "失败",
"message": "缺少必需的请求头 X-Tenant-ID;缺少必需的请求头 X-Data-Domain",
"duration_seconds": 0.01869591698050499,
"timestamp": "2025-06-26T01:39:39.155971",
"validation_points": [
{
"header": "X-Tenant-ID",
"possible_names": [
"X-Tenant-ID"
],
"endpoint": "PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit"
},
{
"header": "X-Data-Domain",
"possible_names": [
"X-Data-Domain"
],
"endpoint": "PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit"
}
]
},
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.01495445892214775,
"timestamp": "2025-06-26T01:39:39.171023",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"test_case_id": "TC-SECURITY-002",
"test_case_name": "敏感字段加密检查",
"test_case_severity": "高",
"status": "通过",
"message": "未在响应中找到需要检查的敏感字段。",
"duration_seconds": 0.0158846250269562,
"timestamp": "2025-06-26T01:39:39.187088",
"validation_points": [
{
"passed": true,
"message": "未在响应中找到需要检查的敏感字段。"
}
]
},
{
"test_case_id": "TC-LLM-COMPLIANCE-001",
"test_case_name": "LLM合规性综合检查",
"test_case_severity": "中",
"status": "通过",
"message": "[API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除] 通过: 该API的用途是修改地质单元数据使用的是PUT方法符合用于更新的规范。",
"duration_seconds": 3.277983249980025,
"timestamp": "2025-06-26T01:39:42.465178",
"validation_points": [
{
"criterion": "API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除",
"llm_reason": "该API的用途是修改地质单元数据使用的是PUT方法符合用于更新的规范。"
}
]
},
{
"test_case_id": "TC-RESTful-001",
"test_case_name": "核心命名与结构规范检查",
"test_case_severity": "高",
"status": "通过",
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。",
"duration_seconds": 0.04641008307226002,
"timestamp": "2025-06-26T01:39:42.511838",
"validation_points": [
{
"passed": true,
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。"
}
]
},
{
"test_case_id": "TC-DMS-PAGINATION-001",
"test_case_name": "分页参数检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查API不符合分页参数检查的准入规则需包含'查询'/'列表'等关键词,且不包含'详情'等关键词)",
"duration_seconds": 0.032278416911140084,
"timestamp": "2025-06-26T01:39:42.544568",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
"method": "PUT",
"summary": "地质单元数据修改",
"contains_include_keyword": false,
"contains_exclude_keyword": false
}
]
},
{
"test_case_id": "TC-RESTful-004",
"test_case_name": "资源集合复数命名检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查PUT 方法,不适用于资源集合复数检查。",
"duration_seconds": 0.023713292088359594,
"timestamp": "2025-06-26T01:39:42.568609",
"validation_points": [
{
"passed": true,
"message": "跳过检查PUT 方法,不适用于资源集合复数检查。"
}
]
},
{
"test_case_id": "TC-RESTful-002",
"test_case_name": "资源路径名词检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 符合资源名词命名规范。",
"duration_seconds": 0.01956599997356534,
"timestamp": "2025-06-26T01:39:42.588670",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 符合资源名词命名规范。"
}
]
},
{
"test_case_id": "TC-DMS-CORE-SCHEMA-001",
"test_case_name": "DMS核心存储服务API响应格式检查",
"test_case_severity": "高",
"status": "通过",
"message": "字段'code'在schema中未标记为必填(required);字段'message'在schema中未标记为必填(required);字段'data'在schema中未标记为必填(required);响应schema符合标准格式: {'code':int or number or string, 'message':string, 'data': any}",
"duration_seconds": 0.017322750063613057,
"timestamp": "2025-06-26T01:39:42.606428",
"validation_points": [
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200"
}
]
},
{
"test_case_id": "TC-CORE-FUNC-001",
"test_case_name": "Response Body JSON Schema Validation",
"test_case_severity": "严重",
"status": "通过",
"message": "针对 PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema.",
"duration_seconds": 0.02254858403466642,
"timestamp": "2025-06-26T01:39:42.629441",
"validation_points": [
{
"passed": true,
"message": "针对 PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema."
}
]
},
{
"test_case_id": "TC-RESTful-003",
"test_case_name": "时间字段ISO 8601格式检查",
"test_case_severity": "中",
"status": "通过",
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。",
"duration_seconds": 0.023936749901622534,
"timestamp": "2025-06-26T01:39:42.653605",
"validation_points": [
{
"passed": true,
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。"
}
]
},
{
"test_case_id": "TC-DMS-URL-VERSION-001",
"test_case_name": "DMS API URL版本号检查",
"test_case_severity": "中",
"status": "通过",
"message": "API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 正确以'/api/'开头;API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 包含版本标识: 'v1'",
"duration_seconds": 0.01911308302078396,
"timestamp": "2025-06-26T01:39:42.673210",
"validation_points": [
{
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit"
},
{
"pattern_matched": "/v\\d+/",
"version_string": "v1",
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit"
}
]
},
{
"test_case_id": "TC-SECURITY-001",
"test_case_name": "HTTPS Protocol Mandatory Verification",
"test_case_severity": "严重",
"status": "失败",
"message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200这违反了HTTPS强制策略。",
"duration_seconds": 0.01884929195512086,
"timestamp": "2025-06-26T01:39:42.692305",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code -1 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当查询参数 'id' (路径: 'id') 类型不匹配时, 业务错误码应为 -1但实际为 96。",
"duration_seconds": 0.01671845803502947,
"timestamp": "2025-06-26T01:39:42.709193",
"validation_points": [
{
"expected_code": -1,
"actual_code": 96,
"response_body": {
"code": 96,
"message": "proident",
"data": true
}
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code -1 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'id' 类型不匹配时, 业务错误码应为 -1但实际为 3。",
"duration_seconds": 0.0182133330963552,
"timestamp": "2025-06-26T01:39:42.727571",
"validation_points": [
{
"expected_code": -1,
"actual_code": 3,
"response_body": {
"code": 3,
"message": "in exercitation",
"data": false
}
}
]
},
{
"test_case_id": "TC-ERROR-4002",
"test_case_name": "Error Code -1 - Number Value Out of Range Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确范围限制的数值字段。",
"duration_seconds": 0.023076624958775938,
"timestamp": "2025-06-26T01:39:42.750791",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确范围限制的数值字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4006",
"test_case_name": "Error Code 4006 - Invalid Enum Value Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确枚举值限制的字段。",
"duration_seconds": 0.01848820806480944,
"timestamp": "2025-06-26T01:39:42.769483",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确枚举值限制的字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code -1 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填请求体字段 'id' 时, 业务错误码应为 -1但实际为 4003。",
"duration_seconds": 0.015651999972760677,
"timestamp": "2025-06-26T01:39:42.785401",
"validation_points": [
{
"expected_code": -1,
"actual_code": 4003,
"response_body": {
"code": 4003
}
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code -1 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填查询参数 'id' 时, 业务错误码应为 -1但实际为 58。",
"duration_seconds": 0.02025345910806209,
"timestamp": "2025-06-26T01:39:42.805991",
"validation_points": [
{
"expected_code": -1,
"actual_code": 58,
"response_body": {
"code": 58,
"message": "mollit",
"data": false
}
}
]
}
]
},
{
"endpoint_id": "DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"endpoint_name": "地质单元数据删除",
"overall_status": "失败",
"duration_seconds": 4.083882,
"start_time": "2025-06-26T01:39:42.806237",
"end_time": "2025-06-26T01:39:46.890119",
"executed_test_cases": [
{
"test_case_id": "TC-HEADER-001",
"test_case_name": "必需请求头Schema验证",
"test_case_severity": "严重",
"status": "失败",
"message": "缺少必需的请求头 X-Tenant-ID;缺少必需的请求头 X-Data-Domain",
"duration_seconds": 0.020634209038689733,
"timestamp": "2025-06-26T01:39:42.827391",
"validation_points": [
{
"header": "X-Tenant-ID",
"possible_names": [
"X-Tenant-ID"
],
"endpoint": "DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit"
},
{
"header": "X-Data-Domain",
"possible_names": [
"X-Data-Domain"
],
"endpoint": "DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit"
}
]
},
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.023981750011444092,
"timestamp": "2025-06-26T01:39:42.851513",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"test_case_id": "TC-SECURITY-002",
"test_case_name": "敏感字段加密检查",
"test_case_severity": "高",
"status": "通过",
"message": "未在响应中找到需要检查的敏感字段。",
"duration_seconds": 0.016334624961018562,
"timestamp": "2025-06-26T01:39:42.867985",
"validation_points": [
{
"passed": true,
"message": "未在响应中找到需要检查的敏感字段。"
}
]
},
{
"test_case_id": "TC-LLM-COMPLIANCE-001",
"test_case_name": "LLM合规性综合检查",
"test_case_severity": "中",
"status": "失败",
"message": "[API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除] 不通过: DELETE方法通常用于删除资源但根据提供的信息该API调用包含请求体request body而DELETE方法在标准实践中通常不使用请求体传递数据。这可能违反了合规性标准中关于正确使用HTTP方法的要求。",
"duration_seconds": 3.6634573340415955,
"timestamp": "2025-06-26T01:39:46.531513",
"validation_points": [
{
"criterion": "API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除",
"llm_reason": "DELETE方法通常用于删除资源但根据提供的信息该API调用包含请求体request body而DELETE方法在标准实践中通常不使用请求体传递数据。这可能违反了合规性标准中关于正确使用HTTP方法的要求。"
}
]
},
{
"test_case_id": "TC-RESTful-001",
"test_case_name": "核心命名与结构规范检查",
"test_case_severity": "高",
"status": "通过",
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。",
"duration_seconds": 0.05194233392830938,
"timestamp": "2025-06-26T01:39:46.583799",
"validation_points": [
{
"passed": true,
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。"
}
]
},
{
"test_case_id": "TC-DMS-PAGINATION-001",
"test_case_name": "分页参数检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查API不符合分页参数检查的准入规则需包含'查询'/'列表'等关键词,且不包含'详情'等关键词)",
"duration_seconds": 0.033118249964900315,
"timestamp": "2025-06-26T01:39:46.617065",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
"method": "DELETE",
"summary": "地质单元数据删除",
"contains_include_keyword": false,
"contains_exclude_keyword": false
}
]
},
{
"test_case_id": "TC-RESTful-004",
"test_case_name": "资源集合复数命名检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查DELETE 方法,不适用于资源集合复数检查。",
"duration_seconds": 0.02657700004056096,
"timestamp": "2025-06-26T01:39:46.643926",
"validation_points": [
{
"passed": true,
"message": "跳过检查DELETE 方法,不适用于资源集合复数检查。"
}
]
},
{
"test_case_id": "TC-RESTful-002",
"test_case_name": "资源路径名词检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 符合资源名词命名规范。",
"duration_seconds": 0.01904737506993115,
"timestamp": "2025-06-26T01:39:46.663386",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 符合资源名词命名规范。"
}
]
},
{
"test_case_id": "TC-DMS-CORE-SCHEMA-001",
"test_case_name": "DMS核心存储服务API响应格式检查",
"test_case_severity": "高",
"status": "通过",
"message": "字段'code'在schema中未标记为必填(required);字段'message'在schema中未标记为必填(required);字段'data'在schema中未标记为必填(required);响应schema符合标准格式: {'code':int or number or string, 'message':string, 'data': any}",
"duration_seconds": 0.017989208921790123,
"timestamp": "2025-06-26T01:39:46.681726",
"validation_points": [
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200"
}
]
},
{
"test_case_id": "TC-CORE-FUNC-001",
"test_case_name": "Response Body JSON Schema Validation",
"test_case_severity": "严重",
"status": "通过",
"message": "针对 DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema.",
"duration_seconds": 0.015839333063922822,
"timestamp": "2025-06-26T01:39:46.697832",
"validation_points": [
{
"passed": true,
"message": "针对 DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema."
}
]
},
{
"test_case_id": "TC-RESTful-003",
"test_case_name": "时间字段ISO 8601格式检查",
"test_case_severity": "中",
"status": "通过",
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。",
"duration_seconds": 0.016057666041888297,
"timestamp": "2025-06-26T01:39:46.714033",
"validation_points": [
{
"passed": true,
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。"
}
]
},
{
"test_case_id": "TC-DMS-URL-VERSION-001",
"test_case_name": "DMS API URL版本号检查",
"test_case_severity": "中",
"status": "通过",
"message": "API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 正确以'/api/'开头;API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 包含版本标识: 'v1'",
"duration_seconds": 0.020473625045269728,
"timestamp": "2025-06-26T01:39:46.734833",
"validation_points": [
{
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit"
},
{
"pattern_matched": "/v\\d+/",
"version_string": "v1",
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit"
}
]
},
{
"test_case_id": "TC-SECURITY-001",
"test_case_name": "HTTPS Protocol Mandatory Verification",
"test_case_severity": "严重",
"status": "失败",
"message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200这违反了HTTPS强制策略。",
"duration_seconds": 0.016531666973605752,
"timestamp": "2025-06-26T01:39:46.751686",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code -1 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当查询参数 'id' (路径: 'id') 类型不匹配时, 业务错误码应为 -1但实际为 97。",
"duration_seconds": 0.020491458009928465,
"timestamp": "2025-06-26T01:39:46.772387",
"validation_points": [
{
"expected_code": -1,
"actual_code": 97,
"response_body": {
"code": 97,
"message": "mollit laborum dolore nisi",
"data": true
}
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code -1 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'version' 类型不匹配时, 业务错误码应为 -1但实际为 91。",
"duration_seconds": 0.023309667012654245,
"timestamp": "2025-06-26T01:39:46.795819",
"validation_points": [
{
"expected_code": -1,
"actual_code": 91,
"response_body": {
"code": 91,
"message": "reprehenderit pariatur culpa laborum sint",
"data": false
}
}
]
},
{
"test_case_id": "TC-ERROR-4002",
"test_case_name": "Error Code -1 - Number Value Out of Range Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确范围限制的数值字段。",
"duration_seconds": 0.029992291936650872,
"timestamp": "2025-06-26T01:39:46.825886",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确范围限制的数值字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4006",
"test_case_name": "Error Code 4006 - Invalid Enum Value Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确枚举值限制的字段。",
"duration_seconds": 0.03120108402799815,
"timestamp": "2025-06-26T01:39:46.857188",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确枚举值限制的字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code -1 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.016313958098180592,
"timestamp": "2025-06-26T01:39:46.873640",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code -1 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填查询参数 'id' 时, 业务错误码应为 -1但实际为 16。",
"duration_seconds": 0.016168458038009703,
"timestamp": "2025-06-26T01:39:46.890015",
"validation_points": [
{
"expected_code": -1,
"actual_code": 16,
"response_body": {
"code": 16,
"message": "exercitation Ut ipsum sunt",
"data": true
}
}
]
}
]
},
{
"endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"endpoint_name": "地质单元数据添加",
"overall_status": "失败",
"duration_seconds": 4.21754,
"start_time": "2025-06-26T01:39:46.890157",
"end_time": "2025-06-26T01:39:51.107697",
"executed_test_cases": [
{
"test_case_id": "TC-HEADER-001",
"test_case_name": "必需请求头Schema验证",
"test_case_severity": "严重",
"status": "失败",
"message": "缺少必需的请求头 X-Tenant-ID;缺少必需的请求头 X-Data-Domain",
"duration_seconds": 0.015926165971904993,
"timestamp": "2025-06-26T01:39:46.906277",
"validation_points": [
{
"header": "X-Tenant-ID",
"possible_names": [
"X-Tenant-ID"
],
"endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit"
},
{
"header": "X-Data-Domain",
"possible_names": [
"X-Data-Domain"
],
"endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit"
}
]
},
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.019106665975414217,
"timestamp": "2025-06-26T01:39:46.925520",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"test_case_id": "TC-SECURITY-002",
"test_case_name": "敏感字段加密检查",
"test_case_severity": "高",
"status": "通过",
"message": "未在响应中找到需要检查的敏感字段。",
"duration_seconds": 0.017354791052639484,
"timestamp": "2025-06-26T01:39:46.943088",
"validation_points": [
{
"passed": true,
"message": "未在响应中找到需要检查的敏感字段。"
}
]
},
{
"test_case_id": "TC-LLM-COMPLIANCE-001",
"test_case_name": "LLM合规性综合检查",
"test_case_severity": "中",
"status": "通过",
"message": "[API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除] 通过: 该API的用途是添加地质单元数据属于创建操作使用了POST方法符合标准。",
"duration_seconds": 3.7568111669970676,
"timestamp": "2025-06-26T01:39:50.699974",
"validation_points": [
{
"criterion": "API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除",
"llm_reason": "该API的用途是添加地质单元数据属于创建操作使用了POST方法符合标准。"
}
]
},
{
"test_case_id": "TC-RESTful-001",
"test_case_name": "核心命名与结构规范检查",
"test_case_severity": "高",
"status": "通过",
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。;规范中未找到响应码 200 或其类别(2XX, default)的匹配定义跳过空数组与null的检查。",
"duration_seconds": 0.05704304191749543,
"timestamp": "2025-06-26T01:39:50.757215",
"validation_points": [
{
"passed": true,
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。"
},
{
"passed": true,
"message": "规范中未找到响应码 200 或其类别(2XX, default)的匹配定义跳过空数组与null的检查。"
}
]
},
{
"test_case_id": "TC-DMS-PAGINATION-001",
"test_case_name": "分页参数检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查API不符合分页参数检查的准入规则需包含'查询'/'列表'等关键词,且不包含'详情'等关键词)",
"duration_seconds": 0.042625042027793825,
"timestamp": "2025-06-26T01:39:50.799968",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
"method": "POST",
"summary": "地质单元数据添加",
"contains_include_keyword": false,
"contains_exclude_keyword": false
}
]
},
{
"test_case_id": "TC-RESTful-004",
"test_case_name": "资源集合复数命名检查",
"test_case_severity": "中",
"status": "失败",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 的最后一个路径分段 'cd_geo_unit' 可能不是复数形式,建议对资源集合使用复数命名。",
"duration_seconds": 0.046378583065234125,
"timestamp": "2025-06-26T01:39:50.846559",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
"segment": "cd_geo_unit"
}
]
},
{
"test_case_id": "TC-RESTful-002",
"test_case_name": "资源路径名词检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 符合资源名词命名规范。",
"duration_seconds": 0.021730209002271295,
"timestamp": "2025-06-26T01:39:50.868554",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 符合资源名词命名规范。"
}
]
},
{
"test_case_id": "TC-DMS-CORE-SCHEMA-001",
"test_case_name": "DMS核心存储服务API响应格式检查",
"test_case_severity": "高",
"status": "通过",
"message": "字段'code'在schema中未标记为必填(required);字段'message'在schema中未标记为必填(required);字段'data'在schema中未标记为必填(required);响应schema符合标准格式: {'code':int or number or string, 'message':string, 'data': any}",
"duration_seconds": 0.02993283304385841,
"timestamp": "2025-06-26T01:39:50.898709",
"validation_points": [
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201",
"required_fields": []
},
{
"status_code": "201"
}
]
},
{
"test_case_id": "TC-CORE-FUNC-001",
"test_case_name": "Response Body JSON Schema Validation",
"test_case_severity": "严重",
"status": "通过",
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。",
"duration_seconds": 0.02231829205993563,
"timestamp": "2025-06-26T01:39:50.921224",
"validation_points": [
{
"passed": true,
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。"
}
]
},
{
"test_case_id": "TC-RESTful-003",
"test_case_name": "时间字段ISO 8601格式检查",
"test_case_severity": "中",
"status": "通过",
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。",
"duration_seconds": 0.02852325001731515,
"timestamp": "2025-06-26T01:39:50.950021",
"validation_points": [
{
"passed": true,
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。"
}
]
},
{
"test_case_id": "TC-DMS-URL-VERSION-001",
"test_case_name": "DMS API URL版本号检查",
"test_case_severity": "中",
"status": "通过",
"message": "API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 正确以'/api/'开头;API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit' 包含版本标识: 'v1'",
"duration_seconds": 0.02126083301845938,
"timestamp": "2025-06-26T01:39:50.971584",
"validation_points": [
{
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit"
},
{
"pattern_matched": "/v\\d+/",
"version_string": "v1",
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit"
}
]
},
{
"test_case_id": "TC-SECURITY-001",
"test_case_name": "HTTPS Protocol Mandatory Verification",
"test_case_severity": "严重",
"status": "失败",
"message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200这违反了HTTPS强制策略。",
"duration_seconds": 0.019813749939203262,
"timestamp": "2025-06-26T01:39:50.991609",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code -1 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。",
"duration_seconds": 0.02386070799548179,
"timestamp": "2025-06-26T01:39:51.015597",
"validation_points": [
{
"passed": true,
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code -1 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'version' 类型不匹配时, 业务错误码应为 -1但实际为 62。",
"duration_seconds": 0.017107750056311488,
"timestamp": "2025-06-26T01:39:51.032868",
"validation_points": [
{
"expected_code": -1,
"actual_code": 62,
"response_body": {
"code": 62,
"message": "et nulla",
"data": false
}
}
]
},
{
"test_case_id": "TC-ERROR-4002",
"test_case_name": "Error Code -1 - Number Value Out of Range Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确范围限制的数值字段。",
"duration_seconds": 0.016989041003398597,
"timestamp": "2025-06-26T01:39:51.049987",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确范围限制的数值字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4006",
"test_case_name": "Error Code 4006 - Invalid Enum Value Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确枚举值限制的字段。",
"duration_seconds": 0.0213576250243932,
"timestamp": "2025-06-26T01:39:51.071520",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确枚举值限制的字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code -1 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填请求体字段 'data.0.bsflag' 时, 业务错误码应为 -1但实际为 37。",
"duration_seconds": 0.020518457982689142,
"timestamp": "2025-06-26T01:39:51.092336",
"validation_points": [
{
"expected_code": -1,
"actual_code": 37,
"response_body": {
"code": 37,
"message": "irure ullamco ea",
"data": false
}
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code -1 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.015199000015854836,
"timestamp": "2025-06-26T01:39:51.107650",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。"
}
]
}
]
},
{
"endpoint_id": "GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}",
"endpoint_name": "地质单元查询详情",
"overall_status": "失败",
"duration_seconds": 5.051752,
"start_time": "2025-06-26T01:39:51.107734",
"end_time": "2025-06-26T01:39:56.159486",
"executed_test_cases": [
{
"test_case_id": "TC-HEADER-001",
"test_case_name": "必需请求头Schema验证",
"test_case_severity": "严重",
"status": "失败",
"message": "缺少必需的请求头 X-Tenant-ID;缺少必需的请求头 X-Data-Domain",
"duration_seconds": 0.016483417013660073,
"timestamp": "2025-06-26T01:39:51.124447",
"validation_points": [
{
"header": "X-Tenant-ID",
"possible_names": [
"X-Tenant-ID"
],
"endpoint": "GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}"
},
{
"header": "X-Data-Domain",
"possible_names": [
"X-Data-Domain"
],
"endpoint": "GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}"
}
]
},
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.016652707941830158,
"timestamp": "2025-06-26T01:39:51.141145",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"test_case_id": "TC-SECURITY-002",
"test_case_name": "敏感字段加密检查",
"test_case_severity": "高",
"status": "通过",
"message": "未在响应中找到需要检查的敏感字段。",
"duration_seconds": 0.01462050003465265,
"timestamp": "2025-06-26T01:39:51.155828",
"validation_points": [
{
"passed": true,
"message": "未在响应中找到需要检查的敏感字段。"
}
]
},
{
"test_case_id": "TC-LLM-COMPLIANCE-001",
"test_case_name": "LLM合规性综合检查",
"test_case_severity": "中",
"status": "失败",
"message": "[API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除] 不通过: 该API使用GET方法但其请求体request body中包含复杂的查询逻辑这不符合HTTP规范中对GET方法的定义。GET请求应通过URL参数进行查询而非依赖请求体。因此此类操作更适合使用POST方法。",
"duration_seconds": 4.682574208010919,
"timestamp": "2025-06-26T01:39:55.838382",
"validation_points": [
{
"criterion": "API应该使用正确的HTTP方法GET用于检索POST用于创建PUT用于更新DELETE用于删除",
"llm_reason": "该API使用GET方法但其请求体request body中包含复杂的查询逻辑这不符合HTTP规范中对GET方法的定义。GET请求应通过URL参数进行查询而非依赖请求体。因此此类操作更适合使用POST方法。"
}
]
},
{
"test_case_id": "TC-RESTful-001",
"test_case_name": "核心命名与结构规范检查",
"test_case_severity": "高",
"status": "通过",
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。",
"duration_seconds": 0.04950241697952151,
"timestamp": "2025-06-26T01:39:55.888119",
"validation_points": [
{
"passed": true,
"message": "模块名 'dms' 格式正确 (全小写/数字/中划线)。"
}
]
},
{
"test_case_id": "TC-DMS-PAGINATION-001",
"test_case_name": "分页参数检查",
"test_case_severity": "中",
"status": "通过",
"message": "跳过检查API不符合分页参数检查的准入规则需包含'查询'/'列表'等关键词,且不包含'详情'等关键词)",
"duration_seconds": 0.02794904203619808,
"timestamp": "2025-06-26T01:39:55.916382",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}",
"method": "GET",
"summary": "地质单元查询详情",
"contains_include_keyword": true,
"contains_exclude_keyword": true
}
]
},
{
"test_case_id": "TC-RESTful-004",
"test_case_name": "资源集合复数命名检查",
"test_case_severity": "中",
"status": "失败",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 的最后一个路径分段 'cd_geo_unit' 可能不是复数形式,建议对资源集合使用复数命名。",
"duration_seconds": 0.022800375008955598,
"timestamp": "2025-06-26T01:39:55.939708",
"validation_points": [
{
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}",
"segment": "cd_geo_unit"
}
]
},
{
"test_case_id": "TC-RESTful-002",
"test_case_name": "资源路径名词检查",
"test_case_severity": "中",
"status": "通过",
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 符合资源名词命名规范。",
"duration_seconds": 0.02239391696639359,
"timestamp": "2025-06-26T01:39:55.962594",
"validation_points": [
{
"passed": true,
"message": "路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 符合资源名词命名规范。"
}
]
},
{
"test_case_id": "TC-DMS-CORE-SCHEMA-001",
"test_case_name": "DMS核心存储服务API响应格式检查",
"test_case_severity": "高",
"status": "通过",
"message": "字段'code'在schema中未标记为必填(required);字段'message'在schema中未标记为必填(required);字段'data'在schema中未标记为必填(required);响应schema符合标准格式: {'code':int or number or string, 'message':string, 'data': any}",
"duration_seconds": 0.020347041077911854,
"timestamp": "2025-06-26T01:39:55.983427",
"validation_points": [
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200",
"required_fields": []
},
{
"status_code": "200"
}
]
},
{
"test_case_id": "TC-CORE-FUNC-001",
"test_case_name": "Response Body JSON Schema Validation",
"test_case_severity": "严重",
"status": "通过",
"message": "针对 GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id (状态码 200) 的响应体 conforms to the JSON schema.",
"duration_seconds": 0.02285029203630984,
"timestamp": "2025-06-26T01:39:56.006667",
"validation_points": [
{
"passed": true,
"message": "针对 GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id (状态码 200) 的响应体 conforms to the JSON schema."
}
]
},
{
"test_case_id": "TC-RESTful-003",
"test_case_name": "时间字段ISO 8601格式检查",
"test_case_severity": "中",
"status": "通过",
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。",
"duration_seconds": 0.0221742499852553,
"timestamp": "2025-06-26T01:39:56.029072",
"validation_points": [
{
"passed": true,
"message": "在API规范中未找到可供静态检查的时间相关字段如 format: date-time 或 常见时间字段名)。"
}
]
},
{
"test_case_id": "TC-DMS-URL-VERSION-001",
"test_case_name": "DMS API URL版本号检查",
"test_case_severity": "中",
"status": "通过",
"message": "API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 正确以'/api/'开头;API路径 '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 包含版本标识: 'v1'",
"duration_seconds": 0.015156125067733228,
"timestamp": "2025-06-26T01:39:56.044385",
"validation_points": [
{
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}"
},
{
"pattern_matched": "/v\\d+/",
"version_string": "v1",
"full_path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}"
}
]
},
{
"test_case_id": "TC-SECURITY-001",
"test_case_name": "HTTPS Protocol Mandatory Verification",
"test_case_severity": "严重",
"status": "失败",
"message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id) 响应了成功的状态码 200这违反了HTTPS强制策略。",
"duration_seconds": 0.015687334001995623,
"timestamp": "2025-06-26T01:39:56.060340",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code -1 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。",
"duration_seconds": 0.015723165939562023,
"timestamp": "2025-06-26T01:39:56.076239",
"validation_points": [
{
"passed": true,
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code -1 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'isSearchCount' 类型不匹配时, 业务错误码应为 -1但实际为 10。",
"duration_seconds": 0.01665508304722607,
"timestamp": "2025-06-26T01:39:56.092957",
"validation_points": [
{
"expected_code": -1,
"actual_code": 10,
"response_body": {
"code": 10,
"message": "in",
"data": {
"total": 91,
"list": [
{
"dsid": "74",
"dataRegion": "elit exercitation eu veniam",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4002",
"test_case_name": "Error Code -1 - Number Value Out of Range Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:未找到具有明确范围限制的数值字段。",
"duration_seconds": 0.019390625064261258,
"timestamp": "2025-06-26T01:39:56.112423",
"validation_points": [
{
"passed": true,
"message": "跳过测试:未找到具有明确范围限制的数值字段。"
}
]
},
{
"test_case_id": "TC-ERROR-4006",
"test_case_name": "Error Code 4006 - Invalid Enum Value Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当 body 字段 'logic' 值为 'invalid_enum_1njcrd' (合法值为: ['AND', 'OR']) 时, 业务错误码应为 -1但实际为 57。",
"duration_seconds": 0.019529832992702723,
"timestamp": "2025-06-26T01:39:56.132025",
"validation_points": [
{
"expected_code": -1,
"actual_code": 57,
"response_body": {
"code": 57,
"message": "pariatur aliqua dolore",
"data": {
"total": 30,
"list": [
{
"dsid": "33",
"dataRegion": "anim et tempor esse",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "56",
"dataRegion": "tempor esse",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "50",
"dataRegion": "occaecat qui",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
}
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code -1 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.013784041977487504,
"timestamp": "2025-06-26T01:39:56.145926",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code -1 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.013432333013042808,
"timestamp": "2025-06-26T01:39:56.159417",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。"
}
]
}
]
}
],
"stage_results": [
{
"stage_id": "generic_crud_validation_stage",
"stage_name": "Generic CRUD Validation Stage",
"description": "Performs a generic CRUD (Create, List, Read, Update, Delete) flow. It tries to dynamically discover API operations based on common keywords and HTTP methods. Field names for IDs, names, features, and JSON paths for list/detail objects are configurable via class attributes or can be set in `before_stage` based on `api_group_name`.",
"api_group_name": "地质单元",
"tags": [
"crud",
"generic_validation"
],
"overall_status": "失败",
"duration_seconds": "0.03",
"start_time": "2025-06-26T01:39:56",
"end_time": "2025-06-26T01:39:56",
"message": "测试阶段因步骤 'List and Find Created Resource' 的状态 (失败) 而中止.",
"executed_steps_count": 2,
"executed_steps": [
{
"step_name": "Create New Resource",
"description": null,
"lookup_key": "地质单元数据添加",
"resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"status": "通过",
"message": "",
"duration_seconds": "0.0000",
"timestamp": "2025-06-26T01:39:56+0800",
"validation_points": [
{
"passed": true,
"message": "状态码匹配 (200)."
}
],
"api_call_curl": "N/A",
"request_details": {
"method": "POST",
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit",
"headers": {
"tenant-id": "your-tenant-id",
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer your-test-token"
},
"params": {},
"json_data": {
"version": "1.0.0",
"data": [
{
"wellCommonName": "TestResource_1750873196_6bd784",
"dataRegion": "Feature_1750873196"
}
]
},
"body": {
"version": "1.0.0",
"data": [
{
"wellCommonName": "TestResource_1750873196_6bd784",
"dataRegion": "Feature_1750873196"
}
]
},
"data": null,
"timeout": 30
},
"extracted_outputs": {},
"context_after_step_summary": {
"unique_resource_name": "TestResource_1750873196_6bd784",
"updated_resource_name": "TestResource_1750873196_6bd784_UPDATED",
"unique_feature_value": "Feature_1750873196",
"updated_feature_value": "Feature_1750873196_UPDATED",
"cfg_list_path_in_listresponse": "data.list",
"cfg_name_field_in_listitem": "wellCommonName",
"cfg_id_field_in_listitem": "dsid",
"cfg_resource_object_path_in_detailresponse": "data.list.0",
"cfg_name_field_in_detailresponse": "wellCommonName",
"cfg_id_field_in_detailresponse": "dsid",
"cfg_resource_object_path_in_updateresponse": "data.list.0",
"cfg_feature_field_name_for_validation": "dataRegion",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
},
{
"step_name": "List and Find Created Resource",
"description": null,
"lookup_key": "地质单元列表查询",
"resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
"status": "失败",
"message": "Resource not found: Name 'TestResource_1750873196_6bd784' (field: wellCommonName) not found in list at path 'data.list'.",
"duration_seconds": "0.0000",
"timestamp": "2025-06-26T01:39:56+0800",
"validation_points": [
{
"passed": true,
"message": "状态码匹配 (200)."
},
{
"passed": false,
"message": "Resource not found: Name 'TestResource_1750873196_6bd784' (field: wellCommonName) not found in list at path 'data.list'."
}
],
"api_call_curl": "N/A",
"request_details": {
"method": "POST",
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0",
"headers": {
"tenant-id": "your-tenant-id",
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer your-test-token"
},
"params": {
"pageNo": 1,
"pageSize": 10
},
"json_data": {
"isSearchCount": true,
"query": {
"fields": [
"dsid",
"wellCommonName",
"dataRegion"
],
"filter": {
"key": "wellCommonName",
"symbol": "=",
"realValue": [
"TestResource_1750873196_6bd784"
]
}
}
},
"body": {
"isSearchCount": true,
"query": {
"fields": [
"dsid",
"wellCommonName",
"dataRegion"
],
"filter": {
"key": "wellCommonName",
"symbol": "=",
"realValue": [
"TestResource_1750873196_6bd784"
]
}
}
},
"data": null,
"timeout": 30
},
"extracted_outputs": {},
"context_after_step_summary": {
"unique_resource_name": "TestResource_1750873196_6bd784",
"updated_resource_name": "TestResource_1750873196_6bd784_UPDATED",
"unique_feature_value": "Feature_1750873196",
"updated_feature_value": "Feature_1750873196_UPDATED",
"cfg_list_path_in_listresponse": "data.list",
"cfg_name_field_in_listitem": "wellCommonName",
"cfg_id_field_in_listitem": "dsid",
"cfg_resource_object_path_in_detailresponse": "data.list.0",
"cfg_name_field_in_detailresponse": "wellCommonName",
"cfg_id_field_in_detailresponse": "dsid",
"cfg_resource_object_path_in_updateresponse": "data.list.0",
"cfg_feature_field_name_for_validation": "dataRegion",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
}
],
"final_stage_context_summary": {
"unique_resource_name": "TestResource_1750873196_6bd784",
"updated_resource_name": "TestResource_1750873196_6bd784_UPDATED",
"unique_feature_value": "Feature_1750873196",
"updated_feature_value": "Feature_1750873196_UPDATED",
"cfg_list_path_in_listresponse": "data.list",
"cfg_name_field_in_listitem": "wellCommonName",
"cfg_id_field_in_listitem": "dsid",
"cfg_resource_object_path_in_detailresponse": "data.list.0",
"cfg_name_field_in_detailresponse": "wellCommonName",
"cfg_id_field_in_detailresponse": "dsid",
"cfg_resource_object_path_in_updateresponse": "data.list.0",
"cfg_feature_field_name_for_validation": "dataRegion",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
}
],
"api_call_details_summary": []
}