compliance/test_reports/summary.json
2025-06-05 15:31:22 +08:00

1210 lines
48 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.

{
"summary_metadata": {
"start_time": "2025-06-05T15:29:09.342664",
"end_time": "2025-06-05T15:29:10.206388",
"duration_seconds": "0.86"
},
"endpoint_stats": {
"total_defined": 6,
"total_tested": 6,
"passed": 0,
"failed": 6,
"partial_success": 0,
"error": 0,
"skipped": 0,
"success_rate_percentage": "0.00"
},
"test_case_stats": {
"total_applicable": 42,
"total_executed": 42,
"passed": 24,
"failed": 18,
"error_in_execution": 0,
"skipped_during_endpoint_execution": 0,
"success_rate_percentage": "57.14"
},
"detailed_results": [
{
"endpoint_id": "POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}",
"endpoint_name": "数据推送接口",
"overall_status": "失败",
"duration_seconds": 0.176812,
"start_time": "2025-06-05T15:29:09.343020",
"end_time": "2025-06-05T15:29:09.519832",
"executed_test_cases": [
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.04925308399833739,
"timestamp": "2025-06-05T15:29:09.392359",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"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.020062999799847603,
"timestamp": "2025-06-05T15:29:09.412491",
"validation_points": [
{
"passed": true,
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。"
}
]
},
{
"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.03328133397735655,
"timestamp": "2025-06-05T15:29:09.445843",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。",
"duration_seconds": 0.019311791053041816,
"timestamp": "2025-06-05T15:29:09.465227",
"validation_points": [
{
"passed": true,
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'isSearchCount' 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '53'.",
"duration_seconds": 0.01617983286269009,
"timestamp": "2025-06-05T15:29:09.481464",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 53,
"message": "do ut",
"data": {
"total": 94,
"list": [
{
"dsid": "23",
"dataRegion": "esse magna",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_field": "body.isSearchCount"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.01953258295543492,
"timestamp": "2025-06-05T15:29:09.501049",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.018678209045901895,
"timestamp": "2025-06-05T15:29:09.519789",
"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": 0.127835,
"start_time": "2025-06-05T15:29:09.519873",
"end_time": "2025-06-05T15:29:09.647708",
"executed_test_cases": [
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.023476583184674382,
"timestamp": "2025-06-05T15:29:09.543452",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"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.017251041950657964,
"timestamp": "2025-06-05T15:29:09.560760",
"validation_points": [
{
"passed": true,
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。"
}
]
},
{
"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.018187625100836158,
"timestamp": "2025-06-05T15:29:09.579005",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当查询参数 'pageNo' (路径: 'pageNo') 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '70'.",
"duration_seconds": 0.01608020788989961,
"timestamp": "2025-06-05T15:29:09.595141",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 70,
"message": "enim consectetur dolor non ut",
"data": {
"total": 59,
"list": [
{
"dsid": "14",
"dataRegion": "dolore consequat enim ad officia",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "83",
"dataRegion": "ut in nisi",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_param": "pageNo"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'isSearchCount' 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '71'.",
"duration_seconds": 0.019070749869570136,
"timestamp": "2025-06-05T15:29:09.614270",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 71,
"message": "in Ut officia dolore",
"data": {
"total": 25,
"list": [
{
"dsid": "5",
"dataRegion": "do",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
},
{
"dsid": "71",
"dataRegion": "anim sed velit",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_field": "body.isSearchCount"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.017200292088091373,
"timestamp": "2025-06-05T15:29:09.631527",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.016073625069111586,
"timestamp": "2025-06-05T15:29:09.647664",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。"
}
]
}
]
},
{
"endpoint_id": "PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"endpoint_name": "地质单元数据修改",
"overall_status": "失败",
"duration_seconds": 0.112382,
"start_time": "2025-06-05T15:29:09.647743",
"end_time": "2025-06-05T15:29:09.760125",
"executed_test_cases": [
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.015315334079787135,
"timestamp": "2025-06-05T15:29:09.663149",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 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.0173952910117805,
"timestamp": "2025-06-05T15:29:09.680593",
"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-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.018789875088259578,
"timestamp": "2025-06-05T15:29:09.699447",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当查询参数 'id' (路径: 'id') 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '20'.",
"duration_seconds": 0.01411516685038805,
"timestamp": "2025-06-05T15:29:09.713617",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 20,
"message": "Ut",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_param": "id"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'id' 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '51'.",
"duration_seconds": 0.015274292090907693,
"timestamp": "2025-06-05T15:29:09.728941",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 51,
"message": "do",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_field": "body.id"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "当移除必填请求体字段 'id' 时API响应了状态码 200 (非主要预期HTTP状态 [400, 422]但为4xx客户端错误), 且响应体中包含预期的业务错误码 '4003' (字段: 'code').",
"duration_seconds": 0.013828707858920097,
"timestamp": "2025-06-05T15:29:09.742818",
"validation_points": [
{
"passed": true,
"message": "当移除必填请求体字段 'id' 时API响应了状态码 200 (非主要预期HTTP状态 [400, 422]但为4xx客户端错误), 且响应体中包含预期的业务错误码 '4003' (字段: 'code')."
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填查询参数 'id' 时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '82'.",
"duration_seconds": 0.017204750096425414,
"timestamp": "2025-06-05T15:29:09.760083",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 82,
"message": "aliqua nulla",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4003",
"removed_param": "query.id"
}
]
}
]
},
{
"endpoint_id": "DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"endpoint_name": "地质单元数据删除",
"overall_status": "失败",
"duration_seconds": 0.136986,
"start_time": "2025-06-05T15:29:09.760155",
"end_time": "2025-06-05T15:29:09.897141",
"executed_test_cases": [
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.015094458125531673,
"timestamp": "2025-06-05T15:29:09.775343",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 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.02816716697998345,
"timestamp": "2025-06-05T15:29:09.803559",
"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-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.027584708062931895,
"timestamp": "2025-06-05T15:29:09.831205",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当查询参数 'id' (路径: 'id') 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '78'.",
"duration_seconds": 0.016078999964520335,
"timestamp": "2025-06-05T15:29:09.847340",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 78,
"message": "proident",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_param": "id"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'version' 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '51'.",
"duration_seconds": 0.02118941699154675,
"timestamp": "2025-06-05T15:29:09.868578",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 51,
"message": "quis dolor",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_field": "body.version"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.014672042103484273,
"timestamp": "2025-06-05T15:29:09.883302",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填查询参数 'id' 时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '22'.",
"duration_seconds": 0.013733125058934093,
"timestamp": "2025-06-05T15:29:09.897090",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 22,
"message": "fugiat dolor labore Duis dolore",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4003",
"removed_param": "query.id"
}
]
}
]
},
{
"endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit",
"endpoint_name": "地质单元数据添加",
"overall_status": "失败",
"duration_seconds": 0.111981,
"start_time": "2025-06-05T15:29:09.897187",
"end_time": "2025-06-05T15:29:10.009168",
"executed_test_cases": [
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.015056957956403494,
"timestamp": "2025-06-05T15:29:09.912362",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 200。"
}
]
},
{
"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.01394270802848041,
"timestamp": "2025-06-05T15:29:09.926353",
"validation_points": [
{
"passed": true,
"message": "Schema验证步骤完成未发现问题或schema不适用/未为此响应定义)。"
}
]
},
{
"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.017161999829113483,
"timestamp": "2025-06-05T15:29:09.943565",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。",
"duration_seconds": 0.01401041611097753,
"timestamp": "2025-06-05T15:29:09.957628",
"validation_points": [
{
"passed": true,
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'version' 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '56'.",
"duration_seconds": 0.019340540980920196,
"timestamp": "2025-06-05T15:29:09.977016",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 56,
"message": "consequat officia consectetur in",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_field": "body.version"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "失败",
"message": "当移除必填请求体字段 'data.0.bsflag' 时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '49'.",
"duration_seconds": 0.016694082878530025,
"timestamp": "2025-06-05T15:29:09.993760",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 49,
"message": "in voluptate laborum",
"data": true
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4003",
"removed_field": "body.data.0.bsflag"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.015315499855205417,
"timestamp": "2025-06-05T15:29:10.009126",
"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": 0.12987,
"start_time": "2025-06-05T15:29:10.009198",
"end_time": "2025-06-05T15:29:10.139068",
"executed_test_cases": [
{
"test_case_id": "TC-STATUS-001",
"test_case_name": "基本状态码 200 检查",
"test_case_severity": "严重",
"status": "通过",
"message": "响应状态码为 200符合预期 200。",
"duration_seconds": 0.015195332933217287,
"timestamp": "2025-06-05T15:29:10.024485",
"validation_points": [
{
"passed": true,
"message": "响应状态码为 200符合预期 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.01739870896562934,
"timestamp": "2025-06-05T15:29:10.041943",
"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-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.014476499985903502,
"timestamp": "2025-06-05T15:29:10.056484",
"validation_points": [
{
"status_code": 200
}
]
},
{
"test_case_id": "TC-ERROR-4001-QUERY",
"test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation",
"test_case_severity": "中",
"status": "通过",
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。",
"duration_seconds": 0.01886437484063208,
"timestamp": "2025-06-05T15:29:10.075414",
"validation_points": [
{
"passed": true,
"message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。"
}
]
},
{
"test_case_id": "TC-ERROR-4001-BODY",
"test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation",
"test_case_severity": "中",
"status": "失败",
"message": "当请求体字段 'isSearchCount' 类型不匹配时期望API返回状态码在 [400, 422] 中或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '6'.",
"duration_seconds": 0.022027499973773956,
"timestamp": "2025-06-05T15:29:10.097493",
"validation_points": [
{
"status_code": 200,
"response_body": {
"code": 6,
"message": "non",
"data": {
"total": 19,
"list": [
{
"dsid": "82",
"dataRegion": "Excepteur",
"gasReleaseMon": null,
"gasReleaseYear": null,
"releaseGasCum": null
}
]
}
},
"expected_http_status_codes": [
400,
422
],
"expected_business_code": "4001",
"mismatched_field": "body.isSearchCount"
}
]
},
{
"test_case_id": "TC-ERROR-4003-BODY",
"test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。",
"duration_seconds": 0.01837579207494855,
"timestamp": "2025-06-05T15:29:10.115927",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填请求体字段用于移除测试。"
}
]
},
{
"test_case_id": "TC-ERROR-4003-QUERY",
"test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation",
"test_case_severity": "高",
"status": "通过",
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。",
"duration_seconds": 0.02302633412182331,
"timestamp": "2025-06-05T15:29:10.139026",
"validation_points": [
{
"passed": true,
"message": "跳过测试在API规范中未找到合适的必填查询参数用于移除测试。"
}
]
}
]
}
],
"stage_stats": {
"total_defined": 1,
"total_executed": 2,
"passed": 0,
"failed": 2,
"skipped": 0,
"success_rate_percentage": "0.00"
},
"detailed_stage_results": [
{
"stage_id": "keyword_driven_crud_example",
"stage_name": "Keyword-Driven Generic CRUD Stage Example",
"description": "Demonstrates a CRUD (Create, List, Read, Update, Delete) flow. This stage dynamically finds API operations based on a configurable RESOURCE_KEYWORD and predefined action keywords (e.g., '添加', '查询列表'). IMPORTANT: User MUST configure RESOURCE_KEYWORD at the top of this file. Request bodies, response paths in assertions, and 'outputs_to_context' are EXAMPLES based on '井筒API示例_simple.json' and WILL LIKELY NEED MODIFICATION to match your specific API's structure.",
"api_group_name": "公共分类",
"overall_status": "失败",
"duration_seconds": "0.03",
"start_time": "2025-06-05T15:29:10",
"end_time": "2025-06-05T15:29:10",
"message": "Stage aborted due to failure in step 'List and Find Created 地质单元'.",
"executed_steps_count": 2,
"executed_steps": [
{
"step_name": "Add New 地质单元",
"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-05T15:29:10+0800",
"validation_points": [
{
"passed": true,
"message": "Status code matched (200)."
}
],
"api_call_curl": null,
"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": [
{
"bsflag": 0,
"wellCommonName": "Test_地质单元_1749108550_93ddd2",
"wellId": "ExampleWellID_1749108550",
"dataRegion": "TEST_REGION"
}
]
},
"body": {
"version": "1.0.0",
"data": [
{
"bsflag": 0,
"wellCommonName": "Test_地质单元_1749108550_93ddd2",
"wellId": "ExampleWellID_1749108550",
"dataRegion": "TEST_REGION"
}
]
},
"data": null,
"timeout": 30
},
"extracted_outputs": {},
"context_after_step_summary": {
"unique_resource_name": "Test_地质单元_1749108550_93ddd2",
"updated_resource_name": "Test_地质单元_1749108550_93ddd2_UPDATED",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
},
{
"step_name": "List and Find Created 地质单元",
"description": null,
"lookup_key": "地质单元列表查询",
"resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
"status": "失败",
"message": "Assertion 'find_and_extract_id_by_name' failed: 在列表响应中未找到名称为 'Test_地质单元_1749108550_93ddd2' (字段: wellCommonName) 的资源。.",
"duration_seconds": "0.0000",
"timestamp": "2025-06-05T15:29:10+0800",
"validation_points": [
{
"passed": true,
"message": "Status code matched (200)."
},
{
"passed": false,
"message": "在列表响应中未找到名称为 'Test_地质单元_1749108550_93ddd2' (字段: wellCommonName) 的资源。"
}
],
"api_call_curl": null,
"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"
],
"filter": {
"key": "wellCommonName",
"symbol": "=",
"realValue": [
"Test_地质单元_1749108550_93ddd2"
]
}
}
},
"body": {
"isSearchCount": true,
"query": {
"fields": [
"dsid",
"wellCommonName"
],
"filter": {
"key": "wellCommonName",
"symbol": "=",
"realValue": [
"Test_地质单元_1749108550_93ddd2"
]
}
}
},
"data": null,
"timeout": 30
},
"extracted_outputs": {},
"context_after_step_summary": {
"unique_resource_name": "Test_地质单元_1749108550_93ddd2",
"updated_resource_name": "Test_地质单元_1749108550_93ddd2_UPDATED",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
}
],
"final_stage_context_summary": {
"unique_resource_name": "Test_地质单元_1749108550_93ddd2",
"updated_resource_name": "Test_地质单元_1749108550_93ddd2_UPDATED",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
},
{
"stage_id": "keyword_driven_crud_example",
"stage_name": "Keyword-Driven Generic CRUD Stage Example",
"description": "Demonstrates a CRUD (Create, List, Read, Update, Delete) flow. This stage dynamically finds API operations based on a configurable RESOURCE_KEYWORD and predefined action keywords (e.g., '添加', '查询列表'). IMPORTANT: User MUST configure RESOURCE_KEYWORD at the top of this file. Request bodies, response paths in assertions, and 'outputs_to_context' are EXAMPLES based on '井筒API示例_simple.json' and WILL LIKELY NEED MODIFICATION to match your specific API's structure.",
"api_group_name": "地质单元",
"overall_status": "失败",
"duration_seconds": "0.04",
"start_time": "2025-06-05T15:29:10",
"end_time": "2025-06-05T15:29:10",
"message": "Stage aborted due to failure in step 'List and Find Created 地质单元'.",
"executed_steps_count": 2,
"executed_steps": [
{
"step_name": "Add New 地质单元",
"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-05T15:29:10+0800",
"validation_points": [
{
"passed": true,
"message": "Status code matched (200)."
}
],
"api_call_curl": null,
"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": [
{
"bsflag": 0,
"wellCommonName": "Test_地质单元_1749108550_4a265e",
"wellId": "ExampleWellID_1749108550",
"dataRegion": "TEST_REGION"
}
]
},
"body": {
"version": "1.0.0",
"data": [
{
"bsflag": 0,
"wellCommonName": "Test_地质单元_1749108550_4a265e",
"wellId": "ExampleWellID_1749108550",
"dataRegion": "TEST_REGION"
}
]
},
"data": null,
"timeout": 30
},
"extracted_outputs": {},
"context_after_step_summary": {
"unique_resource_name": "Test_地质单元_1749108550_4a265e",
"updated_resource_name": "Test_地质单元_1749108550_4a265e_UPDATED",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
},
{
"step_name": "List and Find Created 地质单元",
"description": null,
"lookup_key": "地质单元列表查询",
"resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
"status": "失败",
"message": "Assertion 'find_and_extract_id_by_name' failed: 在列表响应中未找到名称为 'Test_地质单元_1749108550_4a265e' (字段: wellCommonName) 的资源。.",
"duration_seconds": "0.0000",
"timestamp": "2025-06-05T15:29:10+0800",
"validation_points": [
{
"passed": true,
"message": "Status code matched (200)."
},
{
"passed": false,
"message": "在列表响应中未找到名称为 'Test_地质单元_1749108550_4a265e' (字段: wellCommonName) 的资源。"
}
],
"api_call_curl": null,
"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"
],
"filter": {
"key": "wellCommonName",
"symbol": "=",
"realValue": [
"Test_地质单元_1749108550_4a265e"
]
}
}
},
"body": {
"isSearchCount": true,
"query": {
"fields": [
"dsid",
"wellCommonName"
],
"filter": {
"key": "wellCommonName",
"symbol": "=",
"realValue": [
"Test_地质单元_1749108550_4a265e"
]
}
}
},
"data": null,
"timeout": 30
},
"extracted_outputs": {},
"context_after_step_summary": {
"unique_resource_name": "Test_地质单元_1749108550_4a265e",
"updated_resource_name": "Test_地质单元_1749108550_4a265e_UPDATED",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
}
],
"final_stage_context_summary": {
"unique_resource_name": "Test_地质单元_1749108550_4a265e",
"updated_resource_name": "Test_地质单元_1749108550_4a265e_UPDATED",
"dms_instance_code": "your_dms_instance_code",
"api_version": "1.0.0"
}
}
]
}