7031 lines
1.6 MiB
7031 lines
1.6 MiB
2025-06-16 18:36:01,302 - __main__ - DEBUG - 已启用详细日志模式
|
||
2025-06-16 18:36:01,302 - __main__ - INFO - 主输出目录设置为: /Users/zpc01/workspace/zzlh/compliance/test_reports
|
||
2025-06-16 18:36:01,302 - ddms_compliance_suite.test_case_registry - INFO - Discovering custom test cases from: ./custom_testcases
|
||
2025-06-16 18:36:01,302 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: security_checks 从 ./custom_testcases/security_checks.py
|
||
2025-06-16 18:36:01,302 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-SECURITY-002' (敏感字段加密检查) 来自类 'EncryptedFieldsCheck' (路径: ./custom_testcases/security_checks.py)
|
||
2025-06-16 18:36:01,302 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: basic_checks 从 ./custom_testcases/basic_checks.py
|
||
2025-06-16 18:36:01,302 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-STATUS-001' (基本状态码 200 检查) 来自类 'StatusCode200Check' (路径: ./custom_testcases/basic_checks.py)
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_llm_compliance_check 从 ./custom_testcases/llm/tc_llm_compliance_check.py
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) 来自类 'LLMComplianceCheckTestCase' (路径: ./custom_testcases/llm/tc_llm_compliance_check.py)
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: required_headers_check 从 ./custom_testcases/setup_checks/required_headers_check.py
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-HEADER-001' (必需请求头Schema验证) 来自类 'RequiredHeadersSchemaCheck' (路径: ./custom_testcases/setup_checks/required_headers_check.py)
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_response_schema_format_001 从 ./custom_testcases/井筒/DMS增加核心存储服务API/tc_response_schema_format_001.py
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) 来自类 'ResponseSchemaFormatCheck' (路径: ./custom_testcases/井筒/DMS增加核心存储服务API/tc_response_schema_format_001.py)
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_url_version_check_001 从 ./custom_testcases/井筒/DMS增加核心存储服务API/tc_url_version_check_001.py
|
||
2025-06-16 18:36:01,303 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) 来自类 'URLVersionCheckCase' (路径: ./custom_testcases/井筒/DMS增加核心存储服务API/tc_url_version_check_001.py)
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_pagination_params_check 从 ./custom_testcases/井筒/开发指南-后端/tc_pagination_params_check.py
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-DMS-PAGINATION-001' (分页参数检查) 来自类 'PaginationParamsCheckTestCase' (路径: ./custom_testcases/井筒/开发指南-后端/tc_pagination_params_check.py)
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_002 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_002.py
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-002' (资源路径名词检查) 来自类 'ResourcePathNounCheckTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_002.py)
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_003 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_003.py
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-003' (时间字段ISO 8601格式检查) 来自类 'TimeFormatCheckTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_003.py)
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_combined_001 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_combined_001.py
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-001' (核心命名与结构规范检查) 来自类 'CoreNamingStructureTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_combined_001.py)
|
||
2025-06-16 18:36:01,304 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_004 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_004.py
|
||
2025-06-16 18:36:01,305 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: https_mandatory_case 从 ./custom_testcases/compliance_catalog/security/https_mandatory_case.py
|
||
2025-06-16 18:36:01,305 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) 来自类 'HTTPSMandatoryCase' (路径: ./custom_testcases/compliance_catalog/security/https_mandatory_case.py)
|
||
2025-06-16 18:36:01,305 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: url_llm_checks 从 ./custom_testcases/compliance_catalog/normative_spec/url_llm_checks.py
|
||
2025-06-16 18:36:01,305 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: http_method_usage_case 从 ./custom_testcases/compliance_catalog/normative_spec/http_method_usage_case.py
|
||
2025-06-16 18:36:01,305 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: missing_required_field_query_case 从 ./custom_testcases/compliance_catalog/error_handling/missing_required_field_query_case.py
|
||
2025-06-16 18:36:01,305 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) 来自类 'MissingRequiredFieldQueryCase' (路径: ./custom_testcases/compliance_catalog/error_handling/missing_required_field_query_case.py)
|
||
2025-06-16 18:36:01,306 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: invalid_enum_value_case 从 ./custom_testcases/compliance_catalog/error_handling/invalid_enum_value_case.py
|
||
2025-06-16 18:36:01,306 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) 来自类 'InvalidEnumValueCase' (路径: ./custom_testcases/compliance_catalog/error_handling/invalid_enum_value_case.py)
|
||
2025-06-16 18:36:01,306 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: type_mismatch_body_case 从 ./custom_testcases/compliance_catalog/error_handling/type_mismatch_body_case.py
|
||
2025-06-16 18:36:01,306 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) 来自类 'TypeMismatchBodyCase' (路径: ./custom_testcases/compliance_catalog/error_handling/type_mismatch_body_case.py)
|
||
2025-06-16 18:36:01,306 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: missing_required_field_body_case 从 ./custom_testcases/compliance_catalog/error_handling/missing_required_field_body_case.py
|
||
2025-06-16 18:36:01,306 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) 来自类 'MissingRequiredFieldBodyCase' (路径: ./custom_testcases/compliance_catalog/error_handling/missing_required_field_body_case.py)
|
||
2025-06-16 18:36:01,307 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: type_mismatch_query_param_case 从 ./custom_testcases/compliance_catalog/error_handling/type_mismatch_query_param_case.py
|
||
2025-06-16 18:36:01,307 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) 来自类 'TypeMismatchQueryParamCase' (路径: ./custom_testcases/compliance_catalog/error_handling/type_mismatch_query_param_case.py)
|
||
2025-06-16 18:36:01,307 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: number_out_of_range_case 从 ./custom_testcases/compliance_catalog/error_handling/number_out_of_range_case.py
|
||
2025-06-16 18:36:01,307 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) 来自类 'NumberOutOfRangeCase' (路径: ./custom_testcases/compliance_catalog/error_handling/number_out_of_range_case.py)
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: schema_validation_case 从 ./custom_testcases/compliance_catalog/core_functionality/schema_validation_case.py
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) 来自类 'ResponseSchemaValidationCase' (路径: ./custom_testcases/compliance_catalog/core_functionality/schema_validation_case.py)
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_case_registry - INFO - 已根据 execution_order (主要) 和类名 (次要) 对 18 个测试用例类进行了排序。
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_case_registry - INFO - 测试用例发现完成。总共注册了 18 个独特的测试用例 (基于ID)。发现并排序了 18 个测试用例类。
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.llm_utils.llm_service - INFO - LLMService initialized for model 'qwen-plus' at https://dashscope.aliyuncs.com/compatible-mode/v1
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_orchestrator - INFO - LLMService initialized with model: qwen-plus.
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_orchestrator - INFO - LLMService is initialized, but no LLM generation flags (--use-llm-for-*) are enabled.
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.stage_registry - INFO - 开始从目录发现测试阶段: custom_stages
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.stage_registry - DEBUG - 成功加载模块: ddms_compliance_suite.stages.keyword_driven_crud_stage 从 custom_stages/keyword_driven_crud_stage.py
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.stage_registry - INFO - 成功注册测试阶段: generic_crud_validation_stage (来自 ddms_compliance_suite.stages.keyword_driven_crud_stage.GenericCRUDValidationStage)
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.stage_registry - INFO - 测试阶段发现完成。共加载 1 个阶段。发现 0 个错误。
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_orchestrator - INFO - StageRegistry initialized. Loaded 1 stages.
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_orchestrator - INFO - Orchestrator output directory set to: /Users/zpc01/workspace/zzlh/compliance/test_reports
|
||
2025-06-16 18:36:01,308 - __main__ - INFO - 从YAPI文件运行测试: ./assets/doc/井筒API示例_simple.json
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.test_orchestrator - INFO - 准备从YAPI文件运行测试用例: ./assets/doc/井筒API示例_simple.json
|
||
2025-06-16 18:36:01,308 - ddms_compliance_suite.input_parser.parser - INFO - Parsing YAPI spec from: ./assets/doc/井筒API示例_simple.json
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_orchestrator - INFO - TestSummary initialized.
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,309 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version} (数据推送接口)
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 发现了 18 个适用的测试用例 (已排序): ['TC-HEADER-001', 'TC-STATUS-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-SECURITY-001', 'TC-ERROR-4001-QUERY', 'TC-ERROR-4001-BODY', 'TC-ERROR-4002', 'TC-ERROR-4006', 'TC-ERROR-4003-BODY', 'TC-ERROR-4003-QUERY']
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:01,310 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 初始化。
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:01,310 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:01,311 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:01,311 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,311 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: [{"name": "tenant-id", "in": "header", "required": true, "description": "tenant-id (Only:undefined)", "schema": {"type": "string"}}, {"name": "Authorization", "in": "header", "required": true, "description": "Authorization (Only:undefined)", "schema": {"type": "string"}}]
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-06-16 18:36:01,377 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=True, 必需=True, 名称=Authorization
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:01,377 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 初始化。
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:01,377 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,378 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:01,395 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,395 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:01,396 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'position', 'coord', 'location'}
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,396 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:01,413 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 4006, 'message': 'est officia in sit culpa', 'data': {'total': 15, 'list': [{'dsid': '97', 'dataRegion': 'ullamco est irure quis in', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None, 'key': 123}]}}
|
||
2025-06-16 18:36:01,413 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 4006, 'message': 'est officia in sit culpa', 'data': {'total': 15, 'list': [{'dsid': '97', 'dataRegion': 'ullamco est irure quis in', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None, 'key': 123}]}}
|
||
2025-06-16 18:36:01,413 - testcase.TC-SECURITY-002 - INFO - response_data:{'total': 15, 'list': [{'dsid': '97', 'dataRegion': 'ullamco est irure quis in', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None, 'key': 123}]}
|
||
2025-06-16 18:36:01,413 - testcase.TC-SECURITY-002 - INFO - response_data:[{'dsid': '97', 'dataRegion': 'ullamco est irure quis in', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None, 'key': 123}]
|
||
2025-06-16 18:36:01,413 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '97', 'dataRegion': 'ullamco est irure quis in', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None, 'key': 123}
|
||
2025-06-16 18:36:01,413 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:01,413 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:01,414 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: ['API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除']
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:01,414 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:01,431 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-API信息收集: {
|
||
"method": "POST",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version",
|
||
"path": "/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}",
|
||
"operationId": "post__api_dms_dms_instance_code_v1_message_push_schema_version_135716",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code",
|
||
"schema": "example_schema",
|
||
"version": "example_version"
|
||
},
|
||
"body": {
|
||
"isSearchCount": true,
|
||
"query": {
|
||
"dataRegions": [
|
||
"example_string"
|
||
],
|
||
"fields": [
|
||
"example_string"
|
||
],
|
||
"filter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"groupFields": [
|
||
"example_string"
|
||
],
|
||
"groupFilter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"sort": {}
|
||
}
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "208",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:01 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"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}]}}"
|
||
}
|
||
2025-06-16 18:36:01,432 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-标准: [
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
2025-06-16 18:36:01,432 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 发送给LLM的prompt:
|
||
你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。
|
||
|
||
合规性标准:
|
||
[
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
|
||
API信息:
|
||
{
|
||
"method": "POST",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version",
|
||
"path": "/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}",
|
||
"operationId": "post__api_dms_dms_instance_code_v1_message_push_schema_version_135716",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code",
|
||
"schema": "example_schema",
|
||
"version": "example_version"
|
||
},
|
||
"body": {
|
||
"isSearchCount": true,
|
||
"query": {
|
||
"dataRegions": [
|
||
"example_string"
|
||
],
|
||
"fields": [
|
||
"example_string"
|
||
],
|
||
"filter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"groupFields": [
|
||
"example_string"
|
||
],
|
||
"groupFilter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"sort": {}
|
||
}
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "208",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:01 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"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}]}}"
|
||
}
|
||
|
||
请以如下JSON格式输出:
|
||
[
|
||
{"criterion": "标准内容", "passed": true/false, "reason": "理由"},
|
||
...
|
||
]
|
||
|
||
2025-06-16 18:36:01,432 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Request Payload:
|
||
{
|
||
"model": "qwen-plus",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": "你是一位API合规性专家,输出必须是严格的JSON数组。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": "\n你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。\n\n合规性标准:\n[\n \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\"\n]\n\nAPI信息:\n{\n \"method\": \"POST\",\n \"url\": \"http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\",\n \"path\": \"/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}\",\n \"operationId\": \"post__api_dms_dms_instance_code_v1_message_push_schema_version_135716\",\n \"headers\": {\n \"tenant-id\": \"header_val_tenant-id\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n \"query_params\": {},\n \"path_params\": {\n \"dms_instance_code\": \"example_dms_instance_code\",\n \"schema\": \"example_schema\",\n \"version\": \"example_version\"\n },\n \"body\": {\n \"isSearchCount\": true,\n \"query\": {\n \"dataRegions\": [\n \"example_string\"\n ],\n \"fields\": [\n \"example_string\"\n ],\n \"filter\": {\n \"key\": \"example_string\",\n \"logic\": \"example_string\",\n \"realValue\": [\n {}\n ],\n \"singleValue\": {},\n \"subFilter\": [\n \"example_string\"\n ],\n \"symbol\": \"example_string\"\n },\n \"groupFields\": [\n \"example_string\"\n ],\n \"groupFilter\": {\n \"key\": \"example_string\",\n \"logic\": \"example_string\",\n \"realValue\": [\n {}\n ],\n \"singleValue\": {},\n \"subFilter\": [\n \"example_string\"\n ],\n \"symbol\": \"example_string\"\n },\n \"sort\": {}\n }\n },\n \"response_status\": 200,\n \"response_headers\": {\n \"Vary\": \"Origin\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Content-Length\": \"208\",\n \"success\": \"false\",\n \"Date\": \"Mon, 16 Jun 2025 10:36:01 GMT\",\n \"Connection\": \"keep-alive\",\n \"Keep-Alive\": \"timeout=5\"\n },\n \"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}]}}\"\n}\n\n请以如下JSON格式输出:\n[\n {\"criterion\": \"标准内容\", \"passed\": true/false, \"reason\": \"理由\"},\n ...\n]\n"
|
||
}
|
||
],
|
||
"max_tokens": 2048,
|
||
"temperature": 0.2
|
||
}
|
||
2025-06-16 18:36:08,210 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Response:
|
||
{
|
||
"choices": [
|
||
{
|
||
"message": {
|
||
"role": "assistant",
|
||
"content": "[\n {\n \"criterion\": \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\",\n \"passed\": true,\n \"reason\": \"当前API调用使用了POST方法,并且根据其路径和操作内容(/message/push),可以合理推测该请求用于创建或推送消息,符合POST方法的语义。\"\n }\n]"
|
||
},
|
||
"finish_reason": "stop",
|
||
"index": 0,
|
||
"logprobs": null
|
||
}
|
||
],
|
||
"object": "chat.completion",
|
||
"usage": {
|
||
"prompt_tokens": 725,
|
||
"completion_tokens": 87,
|
||
"total_tokens": 812,
|
||
"prompt_tokens_details": {
|
||
"cached_tokens": 0
|
||
}
|
||
},
|
||
"created": 1750070168,
|
||
"system_fingerprint": null,
|
||
"model": "qwen-plus",
|
||
"id": "chatcmpl-21061992-e2a3-93d2-b461-18b9262214fc"
|
||
}
|
||
2025-06-16 18:36:08,211 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM原始响应: [
|
||
{
|
||
"criterion": "API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除",
|
||
"passed": true,
|
||
"reason": "当前API调用使用了POST方法,并且根据其路径和操作内容(/message/push),可以合理推测该请求用于创建或推送消息,符合POST方法的语义。"
|
||
}
|
||
]
|
||
2025-06-16 18:36:08,211 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,211 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,211 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,211 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,211 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,214 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,215 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
2025-06-16 18:36:08,265 - testcase.TC-RESTful-001 - INFO - responses: {'201': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}}}}
|
||
2025-06-16 18:36:08,265 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['201']
|
||
2025-06-16 18:36:08,265 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,265 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,269 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,293 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-PAGINATION-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,294 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,295 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,296 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,319 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-06-16 18:36:08,321 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,321 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,321 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,321 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,321 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,322 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,322 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,326 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,328 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,329 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,347 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,348 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 初始化。
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,348 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,350 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
status_code: 200
|
||
responses: {'201': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
2025-06-16 18:36:08,370 - testcase.TC-CORE-FUNC-001 - INFO - 响应包含JSON体,但在API规范中未找到针对状态码 200 的JSON schema。跳过schema验证。
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,370 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,371 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,372 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,373 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,389 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,390 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,392 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,426 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,426 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,426 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,427 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 初始化。
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,428 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,428 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-06-16 18:36:08,452 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-06-16 18:36:08,452 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-06-16 18:36:08,452 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,453 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,454 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-06-16 18:36:08,454 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-06-16 18:36:08,454 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,454 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,455 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No target field or original type identified for query param type mismatch. Skipping query param modification.
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,456 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:08,456 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
2025-06-16 18:36:08,470 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-06-16 18:36:08,471 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.014088869094848633
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,471 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,472 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Initializing: Looking for a simple type field in request body for type mismatch test.
|
||
2025-06-16 18:36:08,472 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:08,472 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-06-16 18:36:08,472 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=isSearchCount, Type=boolean
|
||
2025-06-16 18:36:08,472 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=isSearchCount, Type=boolean
|
||
2025-06-16 18:36:08,472 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): isSearchCount, Original Type: boolean
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,472 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,473 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,473 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-06-16 18:36:08,473 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:08,473 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Preparing to modify request body for type mismatch. Target path: ['isSearchCount'], Original type: boolean
|
||
2025-06-16 18:36:08,473 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value 'not-a-boolean' for original type 'boolean' at path 'isSearchCount'.
|
||
2025-06-16 18:36:08,474 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 isSearchCount (键 'isSearchCount') 处设置值为 'not-a-boolean'
|
||
2025-06-16 18:36:08,474 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-06-16 18:36:08,474 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,474 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,474 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,474 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:08,474 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,474 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:08,474 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:08,489 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.014600276947021484
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,489 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,490 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,490 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-06-16 18:36:08,490 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:08,491 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-06-16 18:36:08,492 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-06-16 18:36:08,492 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-06-16 18:36:08,492 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-06-16 18:36:08,492 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-06-16 18:36:08,492 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,492 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,493 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,493 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,493 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:08,493 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,493 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:08,493 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:08,508 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.014004230499267578
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,508 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,509 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,509 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-06-16 18:36:08,512 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Found enum field in BODY at path: query.filter.logic
|
||
2025-06-16 18:36:08,512 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Target found in 'body' at path 'query.filter.logic'. Valid enums: ['AND', 'OR'], Desc: '逻辑操作符,可选值为:AND、OR'
|
||
2025-06-16 18:36:08,513 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Setting invalid enum value to 'invalid_enum_kaj20t' (valid are ['AND', 'OR']).
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,513 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 query.filter.logic (键 'logic') 处设置值为 'invalid_enum_kaj20t'
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,514 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,527 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4006' 执行失败。[0m
|
||
2025-06-16 18:36:08,527 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:08,527 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: [], 属性: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,528 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 在路径 root 未通过任何策略找到可移除的必填字段。
|
||
2025-06-16 18:36:08,528 - testcase.TC-ERROR-4003-BODY - INFO - No removable (required) field path found in 'request body' schema.
|
||
2025-06-16 18:36:08,529 - testcase.TC-ERROR-4003-BODY - INFO - 在请求体 schema 中未找到可用于测试 "必填字段缺失" 的字段(通过基类方法)。
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,529 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,530 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 488\' -d \'{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 482' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "invalid_enum_kaj20t", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 482\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "invalid_enum_kaj20t", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
2025-06-16 18:36:08,549 - testcase.TC-ERROR-4003-BODY - INFO - 由于未识别到可移除的必填请求体字段,跳过此测试用例的验证。
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-BODY' 执行成功。[0m
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,550 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('schema') 的 schema...
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('version') 的 schema...
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,551 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,551 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-06-16 18:36:08,551 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (Error Code -1 - Missing Required Query Parameter Validation) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 初始化。Target param to remove: None
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}'
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716': application/json
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.isSearchCount): True
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,552 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,553 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,554 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,554 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,554 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_message_push_schema_version_135716] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_message_push_schema_version_135716_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,554 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_message_push_schema_version_135716' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,554 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'schema': 'example_schema', 'version': 'example_version'}
|
||
2025-06-16 18:36:08,554 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
2025-06-16 18:36:08,567 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}' 测试完成,最终状态: 失败
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version} (地质单元列表查询)
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,567 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'。
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 发现了 18 个适用的测试用例 (已排序): ['TC-HEADER-001', 'TC-STATUS-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-SECURITY-001', 'TC-ERROR-4001-QUERY', 'TC-ERROR-4001-BODY', 'TC-ERROR-4002', 'TC-ERROR-4006', 'TC-ERROR-4003-BODY', 'TC-ERROR-4003-QUERY']
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,568 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,569 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 初始化。
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,569 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,570 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,570 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,570 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,570 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,570 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,570 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: [{"name": "tenant-id", "in": "header", "required": true, "description": "tenant-id (Only:undefined)", "schema": {"type": "string"}}, {"name": "Authorization", "in": "header", "required": true, "description": "Authorization (Only:undefined)", "schema": {"type": "string"}}]
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-06-16 18:36:08,584 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=True, 必需=True, 名称=Authorization
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,584 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,585 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 初始化。
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,586 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:08,600 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,600 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,601 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'position', 'coord', 'location'}
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,601 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,603 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,603 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
2025-06-16 18:36:08,617 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 67, 'message': 'nostrud', 'data': {'total': 13, 'list': [{'dsid': '96', 'dataRegion': 'Lorem veniam mollit consequat adipisicing', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '85', 'dataRegion': 'ea elit cupidatat', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '20', 'dataRegion': 'anim culpa', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]}}
|
||
2025-06-16 18:36:08,617 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 67, 'message': 'nostrud', 'data': {'total': 13, 'list': [{'dsid': '96', 'dataRegion': 'Lorem veniam mollit consequat adipisicing', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '85', 'dataRegion': 'ea elit cupidatat', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '20', 'dataRegion': 'anim culpa', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]}}
|
||
2025-06-16 18:36:08,617 - testcase.TC-SECURITY-002 - INFO - response_data:{'total': 13, 'list': [{'dsid': '96', 'dataRegion': 'Lorem veniam mollit consequat adipisicing', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '85', 'dataRegion': 'ea elit cupidatat', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '20', 'dataRegion': 'anim culpa', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]}
|
||
2025-06-16 18:36:08,617 - testcase.TC-SECURITY-002 - INFO - response_data:[{'dsid': '96', 'dataRegion': 'Lorem veniam mollit consequat adipisicing', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '85', 'dataRegion': 'ea elit cupidatat', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '20', 'dataRegion': 'anim culpa', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]
|
||
2025-06-16 18:36:08,617 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '96', 'dataRegion': 'Lorem veniam mollit consequat adipisicing', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}
|
||
2025-06-16 18:36:08,618 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '85', 'dataRegion': 'ea elit cupidatat', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}
|
||
2025-06-16 18:36:08,618 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '20', 'dataRegion': 'anim culpa', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}
|
||
2025-06-16 18:36:08,618 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:08,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:08,619 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: ['API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除']
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:08,619 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:08,620 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:08,621 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:08,621 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:08,621 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:08,638 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-API信息收集: {
|
||
"method": "POST",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
|
||
"operationId": "post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {
|
||
"pageNo": "query_val_pageNo",
|
||
"pageSize": "query_val_pageSize"
|
||
},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code",
|
||
"version": "1.0.0"
|
||
},
|
||
"body": {
|
||
"isSearchCount": true,
|
||
"query": {
|
||
"dataRegions": [
|
||
"example_string"
|
||
],
|
||
"fields": [
|
||
"example_string"
|
||
],
|
||
"filter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"groupFields": [
|
||
"example_string"
|
||
],
|
||
"groupFilter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"sort": {}
|
||
}
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "205",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:08 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 31, \"message\": \"eiusmod adipisicing culpa ad anim\", \"data\": {\"total\": 32, \"list\": [{\"dsid\": \"94\", \"dataRegion\": \"anim fugiat pariatur nisi\", \"gasReleaseMon\": null, \"gasReleaseYear\": null, \"releaseGasCum\": null}]}}"
|
||
}
|
||
2025-06-16 18:36:08,638 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-标准: [
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
2025-06-16 18:36:08,638 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 发送给LLM的prompt:
|
||
你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。
|
||
|
||
合规性标准:
|
||
[
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
|
||
API信息:
|
||
{
|
||
"method": "POST",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}",
|
||
"operationId": "post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {
|
||
"pageNo": "query_val_pageNo",
|
||
"pageSize": "query_val_pageSize"
|
||
},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code",
|
||
"version": "1.0.0"
|
||
},
|
||
"body": {
|
||
"isSearchCount": true,
|
||
"query": {
|
||
"dataRegions": [
|
||
"example_string"
|
||
],
|
||
"fields": [
|
||
"example_string"
|
||
],
|
||
"filter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"groupFields": [
|
||
"example_string"
|
||
],
|
||
"groupFilter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"sort": {}
|
||
}
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "205",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:08 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 31, \"message\": \"eiusmod adipisicing culpa ad anim\", \"data\": {\"total\": 32, \"list\": [{\"dsid\": \"94\", \"dataRegion\": \"anim fugiat pariatur nisi\", \"gasReleaseMon\": null, \"gasReleaseYear\": null, \"releaseGasCum\": null}]}}"
|
||
}
|
||
|
||
请以如下JSON格式输出:
|
||
[
|
||
{"criterion": "标准内容", "passed": true/false, "reason": "理由"},
|
||
...
|
||
]
|
||
|
||
2025-06-16 18:36:08,639 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Request Payload:
|
||
{
|
||
"model": "qwen-plus",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": "你是一位API合规性专家,输出必须是严格的JSON数组。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": "\n你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。\n\n合规性标准:\n[\n \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\"\n]\n\nAPI信息:\n{\n \"method\": \"POST\",\n \"url\": \"http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0\",\n \"path\": \"/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}\",\n \"operationId\": \"post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751\",\n \"headers\": {\n \"tenant-id\": \"header_val_tenant-id\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n \"query_params\": {\n \"pageNo\": \"query_val_pageNo\",\n \"pageSize\": \"query_val_pageSize\"\n },\n \"path_params\": {\n \"dms_instance_code\": \"example_dms_instance_code\",\n \"version\": \"1.0.0\"\n },\n \"body\": {\n \"isSearchCount\": true,\n \"query\": {\n \"dataRegions\": [\n \"example_string\"\n ],\n \"fields\": [\n \"example_string\"\n ],\n \"filter\": {\n \"key\": \"example_string\",\n \"logic\": \"example_string\",\n \"realValue\": [\n {}\n ],\n \"singleValue\": {},\n \"subFilter\": [\n \"example_string\"\n ],\n \"symbol\": \"example_string\"\n },\n \"groupFields\": [\n \"example_string\"\n ],\n \"groupFilter\": {\n \"key\": \"example_string\",\n \"logic\": \"example_string\",\n \"realValue\": [\n {}\n ],\n \"singleValue\": {},\n \"subFilter\": [\n \"example_string\"\n ],\n \"symbol\": \"example_string\"\n },\n \"sort\": {}\n }\n },\n \"response_status\": 200,\n \"response_headers\": {\n \"Vary\": \"Origin\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Content-Length\": \"205\",\n \"success\": \"false\",\n \"Date\": \"Mon, 16 Jun 2025 10:36:08 GMT\",\n \"Connection\": \"keep-alive\",\n \"Keep-Alive\": \"timeout=5\"\n },\n \"response_body\": \"{\\\"code\\\": 31, \\\"message\\\": \\\"eiusmod adipisicing culpa ad anim\\\", \\\"data\\\": {\\\"total\\\": 32, \\\"list\\\": [{\\\"dsid\\\": \\\"94\\\", \\\"dataRegion\\\": \\\"anim fugiat pariatur nisi\\\", \\\"gasReleaseMon\\\": null, \\\"gasReleaseYear\\\": null, \\\"releaseGasCum\\\": null}]}}\"\n}\n\n请以如下JSON格式输出:\n[\n {\"criterion\": \"标准内容\", \"passed\": true/false, \"reason\": \"理由\"},\n ...\n]\n"
|
||
}
|
||
],
|
||
"max_tokens": 2048,
|
||
"temperature": 0.2
|
||
}
|
||
2025-06-16 18:36:12,699 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Response:
|
||
{
|
||
"choices": [
|
||
{
|
||
"message": {
|
||
"role": "assistant",
|
||
"content": "[\n {\n \"criterion\": \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\",\n \"passed\": true,\n \"reason\": \"当前API调用使用了POST方法,并且根据其路径和请求体内容判断,该操作符合创建资源的语义,因此符合标准。\"\n }\n]"
|
||
},
|
||
"finish_reason": "stop",
|
||
"index": 0,
|
||
"logprobs": null
|
||
}
|
||
],
|
||
"object": "chat.completion",
|
||
"usage": {
|
||
"prompt_tokens": 734,
|
||
"completion_tokens": 79,
|
||
"total_tokens": 813,
|
||
"prompt_tokens_details": {
|
||
"cached_tokens": 0
|
||
}
|
||
},
|
||
"created": 1750070173,
|
||
"system_fingerprint": null,
|
||
"model": "qwen-plus",
|
||
"id": "chatcmpl-699556a6-508b-9d00-82fa-b5f921f4c588"
|
||
}
|
||
2025-06-16 18:36:12,699 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM原始响应: [
|
||
{
|
||
"criterion": "API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除",
|
||
"passed": true,
|
||
"reason": "当前API调用使用了POST方法,并且根据其路径和请求体内容判断,该操作符合创建资源的语义,因此符合标准。"
|
||
}
|
||
]
|
||
2025-06-16 18:36:12,700 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-06-16 18:36:12,700 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,700 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,700 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,700 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,701 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,702 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,703 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,704 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,704 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,756 - testcase.TC-RESTful-001 - INFO - responses: {'201': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}}}}
|
||
2025-06-16 18:36:12,756 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['201']
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,756 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,757 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,758 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,759 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,759 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,759 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
status_code: 200
|
||
responses: {'201': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
2025-06-16 18:36:12,782 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-PAGINATION-001' 执行成功。[0m
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,783 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,784 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,785 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,786 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,805 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,806 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,807 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,808 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,809 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,827 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,828 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,829 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 初始化。
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,829 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,830 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,831 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,831 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,831 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,831 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,831 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,847 - testcase.TC-CORE-FUNC-001 - INFO - 响应包含JSON体,但在API规范中未找到针对状态码 200 的JSON schema。跳过schema验证。
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,848 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,849 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,850 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,871 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,872 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,873 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,894 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-06-16 18:36:12,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:12,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,894 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,895 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,896 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 初始化。
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,898 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,898 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-06-16 18:36:12,913 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-06-16 18:36:12,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-06-16 18:36:12,913 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:12,913 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,913 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,913 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,914 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}
|
||
2025-06-16 18:36:12,915 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-06-16 18:36:12,915 - testcase.TC-ERROR-4001-QUERY - DEBUG - _find_first_simple_type_parameter: Checking query parameter 'pageNo'.
|
||
2025-06-16 18:36:12,915 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: Found simple type query parameter 'pageNo' (type: string) via its 'schema'.
|
||
2025-06-16 18:36:12,915 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Target for type mismatch (query): Param='pageNo', Path='pageNo', Type='string'
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - [TC-ERROR-4001-QUERY] Preparing to modify query params for type mismatch. Target path: ['pageNo'], Original type: string
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Generated mismatched value '12345' for original type 'string' at query path 'pageNo'.
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 pageNo (键 'pageNo') 处设置值为 '12345'
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - [TC-ERROR-4001-QUERY] Successfully set mismatched value in query params using util_set_value_at_path.
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,916 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:12,916 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,917 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:12,917 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:12,931 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.014139890670776367
|
||
2025-06-16 18:36:12,931 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-QUERY' 执行失败。[0m
|
||
2025-06-16 18:36:12,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:12,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,931 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,931 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,932 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Initializing: Looking for a simple type field in request body for type mismatch test.
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=isSearchCount, Type=boolean
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=isSearchCount, Type=boolean
|
||
2025-06-16 18:36:12,933 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): isSearchCount, Original Type: boolean
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,934 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Preparing to modify request body for type mismatch. Target path: ['isSearchCount'], Original type: boolean
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value 'not-a-boolean' for original type 'boolean' at path 'isSearchCount'.
|
||
2025-06-16 18:36:12,935 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 isSearchCount (键 'isSearchCount') 处设置值为 'not-a-boolean'
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-06-16 18:36:12,935 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,935 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:12,935 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=12345&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=12345&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
2025-06-16 18:36:12,950 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.014625072479248047
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,951 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - DEBUG - 从 '页码(从1开始)' 中提取到最小值: 1.0
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Found ranged numeric field in QUERY: 'pageNo'
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Target found in 'query' at path 'pageNo'. Type: string, Min: 1.0, Max: None, Desc: '页码(从1开始)'
|
||
2025-06-16 18:36:12,952 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Setting out-of-range value to 0.0 (min is 1.0).
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 pageNo (键 'pageNo') 处设置值为 '0.0'
|
||
2025-06-16 18:36:12,953 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Successfully injected out-of-range value into parameters.
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,953 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,953 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:12,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:12,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:12,968 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.013894796371459961
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4002' 执行失败。[0m
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,968 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,969 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-06-16 18:36:12,969 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Found enum field in BODY at path: query.filter.logic
|
||
2025-06-16 18:36:12,969 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Target found in 'body' at path 'query.filter.logic'. Valid enums: ['AND', 'OR'], Desc: '逻辑操作符,可选值为:AND、OR'
|
||
2025-06-16 18:36:12,969 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Setting invalid enum value to 'invalid_enum_9ssyno' (valid are ['AND', 'OR']).
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,970 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,971 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 query.filter.logic (键 'logic') 处设置值为 'invalid_enum_9ssyno'
|
||
2025-06-16 18:36:12,971 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,971 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:12,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4006' 执行失败。[0m
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,988 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: [], 属性: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,989 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 在路径 root 未通过任何策略找到可移除的必填字段。
|
||
2025-06-16 18:36:12,990 - testcase.TC-ERROR-4003-BODY - INFO - No removable (required) field path found in 'request body' schema.
|
||
2025-06-16 18:36:12,990 - testcase.TC-ERROR-4003-BODY - INFO - 在请求体 schema 中未找到可用于测试 "必填字段缺失" 的字段(通过基类方法)。
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:12,991 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:13,009 - testcase.TC-ERROR-4003-BODY - INFO - 由于未识别到可移除的必填请求体字段,跳过此测试用例的验证。
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-BODY' 执行成功。[0m
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:13,009 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('pageNo') 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('pageSize') 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[5] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:13,010 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-06-16 18:36:13,010 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (Error Code -1 - Missing Required Query Parameter Validation) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 初始化。Target param to remove: None
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:13,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:13,011 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:13,012 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:13,012 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 488\' -d \'{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=0.0&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=0.0&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 482' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "invalid_enum_9ssyno", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 482\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "invalid_enum_9ssyno", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'
|
||
2025-06-16 18:36:13,027 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}' 测试完成,最终状态: 失败
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit (地质单元数据修改)
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 发现了 18 个适用的测试用例 (已排序): ['TC-HEADER-001', 'TC-STATUS-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-SECURITY-001', 'TC-ERROR-4001-QUERY', 'TC-ERROR-4001-BODY', 'TC-ERROR-4002', 'TC-ERROR-4006', 'TC-ERROR-4003-BODY', 'TC-ERROR-4003-QUERY']
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:13,027 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:13,028 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,029 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:13,044 - RequiredHeadersSchemaCheck - INFO - API端点: PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:13,045 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: [{"name": "tenant-id", "in": "header", "required": true, "description": "tenant-id (Only:undefined)", "schema": {"type": "string"}}, {"name": "Authorization", "in": "header", "required": true, "description": "Authorization (Only:undefined)", "schema": {"type": "string"}}]
|
||
2025-06-16 18:36:13,045 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:13,045 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-06-16 18:36:13,045 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:13,045 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-06-16 18:36:13,045 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=True, 必需=True, 名称=Authorization
|
||
2025-06-16 18:36:13,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-06-16 18:36:13,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:13,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:13,045 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:13,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:13,046 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:13,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:13,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:13,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:13,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,047 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:13,061 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:13,061 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-06-16 18:36:13,061 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:13,061 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:13,062 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'position', 'coord', 'location'}
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,062 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,063 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:13,078 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 72, 'message': 'ut nisi cupidatat esse consectetur', 'data': True}
|
||
2025-06-16 18:36:13,078 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 72, 'message': 'ut nisi cupidatat esse consectetur', 'data': True}
|
||
2025-06-16 18:36:13,078 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-06-16 18:36:13,078 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-06-16 18:36:13,078 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:13,078 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:13,079 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:13,080 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: ['API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除']
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:13,080 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:13,097 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-API信息收集: {
|
||
"method": "PUT",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
|
||
"operationId": "put__api_dms_dms_instance_code_v1_cd_geo_unit_135749",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {
|
||
"id": "dsid"
|
||
},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code"
|
||
},
|
||
"body": {
|
||
"id": "example_string",
|
||
"version": "example_string"
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "62",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:13 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 7, \"message\": \"eiusmod tempor fugiat minim\", \"data\": true}"
|
||
}
|
||
2025-06-16 18:36:13,097 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-标准: [
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
2025-06-16 18:36:13,097 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 发送给LLM的prompt:
|
||
你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。
|
||
|
||
合规性标准:
|
||
[
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
|
||
API信息:
|
||
{
|
||
"method": "PUT",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
|
||
"operationId": "put__api_dms_dms_instance_code_v1_cd_geo_unit_135749",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {
|
||
"id": "dsid"
|
||
},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code"
|
||
},
|
||
"body": {
|
||
"id": "example_string",
|
||
"version": "example_string"
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "62",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:13 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 7, \"message\": \"eiusmod tempor fugiat minim\", \"data\": true}"
|
||
}
|
||
|
||
请以如下JSON格式输出:
|
||
[
|
||
{"criterion": "标准内容", "passed": true/false, "reason": "理由"},
|
||
...
|
||
]
|
||
|
||
2025-06-16 18:36:13,098 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Request Payload:
|
||
{
|
||
"model": "qwen-plus",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": "你是一位API合规性专家,输出必须是严格的JSON数组。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": "\n你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。\n\n合规性标准:\n[\n \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\"\n]\n\nAPI信息:\n{\n \"method\": \"PUT\",\n \"url\": \"http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\",\n \"path\": \"/api/dms/{dms_instance_code}/v1/cd_geo_unit\",\n \"operationId\": \"put__api_dms_dms_instance_code_v1_cd_geo_unit_135749\",\n \"headers\": {\n \"tenant-id\": \"header_val_tenant-id\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n \"query_params\": {\n \"id\": \"dsid\"\n },\n \"path_params\": {\n \"dms_instance_code\": \"example_dms_instance_code\"\n },\n \"body\": {\n \"id\": \"example_string\",\n \"version\": \"example_string\"\n },\n \"response_status\": 200,\n \"response_headers\": {\n \"Vary\": \"Origin\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Content-Length\": \"62\",\n \"success\": \"false\",\n \"Date\": \"Mon, 16 Jun 2025 10:36:13 GMT\",\n \"Connection\": \"keep-alive\",\n \"Keep-Alive\": \"timeout=5\"\n },\n \"response_body\": \"{\\\"code\\\": 7, \\\"message\\\": \\\"eiusmod tempor fugiat minim\\\", \\\"data\\\": true}\"\n}\n\n请以如下JSON格式输出:\n[\n {\"criterion\": \"标准内容\", \"passed\": true/false, \"reason\": \"理由\"},\n ...\n]\n"
|
||
}
|
||
],
|
||
"max_tokens": 2048,
|
||
"temperature": 0.2
|
||
}
|
||
2025-06-16 18:36:17,281 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Response:
|
||
{
|
||
"choices": [
|
||
{
|
||
"message": {
|
||
"role": "assistant",
|
||
"content": "[\n {\n \"criterion\": \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\",\n \"passed\": true,\n \"reason\": \"当前API调用使用了PUT方法,并且根据其路径和请求体内容判断,该操作符合PUT方法的语义,即用于更新资源。\"\n }\n]"
|
||
},
|
||
"finish_reason": "stop",
|
||
"index": 0,
|
||
"logprobs": null
|
||
}
|
||
],
|
||
"object": "chat.completion",
|
||
"usage": {
|
||
"prompt_tokens": 484,
|
||
"completion_tokens": 80,
|
||
"total_tokens": 564,
|
||
"prompt_tokens_details": {
|
||
"cached_tokens": 0
|
||
}
|
||
},
|
||
"created": 1750070177,
|
||
"system_fingerprint": null,
|
||
"model": "qwen-plus",
|
||
"id": "chatcmpl-bbd41acd-2c95-9b8a-9932-e67f47dadb41"
|
||
}
|
||
2025-06-16 18:36:17,283 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM原始响应: [
|
||
{
|
||
"criterion": "API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除",
|
||
"passed": true,
|
||
"reason": "当前API调用使用了PUT方法,并且根据其路径和请求体内容判断,该操作符合PUT方法的语义,即用于更新资源。"
|
||
}
|
||
]
|
||
2025-06-16 18:36:17,283 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,283 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,283 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,284 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,332 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-06-16 18:36:17,333 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-06-16 18:36:17,333 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,333 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,334 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,335 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-PAGINATION-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,359 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,360 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,361 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,361 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,379 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,380 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,381 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
2025-06-16 18:36:17,399 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,399 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,399 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,400 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,400 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,401 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,423 - testcase.TC-CORE-FUNC-001 - INFO - 将根据路径 'responses.200.content.application/json.schema' 的schema验证响应体。
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,428 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,429 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,444 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,445 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,461 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,461 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,462 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,463 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,463 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,463 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-06-16 18:36:17,477 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,478 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,479 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,479 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-06-16 18:36:17,479 - testcase.TC-ERROR-4001-QUERY - DEBUG - _find_first_simple_type_parameter: Checking query parameter 'id'.
|
||
2025-06-16 18:36:17,479 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: Found simple type query parameter 'id' (type: string) via its 'schema'.
|
||
2025-06-16 18:36:17,479 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Target for type mismatch (query): Param='id', Path='id', Type='string'
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,479 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - [TC-ERROR-4001-QUERY] Preparing to modify query params for type mismatch. Target path: ['id'], Original type: string
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Generated mismatched value '12345' for original type 'string' at query path 'id'.
|
||
2025-06-16 18:36:17,480 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 id (键 'id') 处设置值为 '12345'
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - [TC-ERROR-4001-QUERY] Successfully set mismatched value in query params using util_set_value_at_path.
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-06-16 18:36:17,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,480 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:17,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:17,498 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.01735711097717285
|
||
2025-06-16 18:36:17,498 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-QUERY' 执行失败。[0m
|
||
2025-06-16 18:36:17,498 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:17,498 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,498 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,498 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Initializing: Looking for a simple type field in request body for type mismatch test.
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=id, Type=string
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=id, Type=string
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): id, Original Type: string
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,499 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Preparing to modify request body for type mismatch. Target path: ['id'], Original type: string
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'id'.
|
||
2025-06-16 18:36:17,500 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 id (键 'id') 处设置值为 '12345'
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-06-16 18:36:17,500 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,500 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:17,500 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:17,514 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.01427316665649414
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,514 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,515 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:17,515 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:17,531 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.016118764877319336
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,531 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,532 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-06-16 18:36:17,532 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-06-16 18:36:17,532 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,532 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 42' -d '{"id": 12345, "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 42\' -d \'{"id": 12345, "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
2025-06-16 18:36:17,547 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-06-16 18:36:17,547 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,547 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,547 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['id', 'version'], 属性: ['id', 'version']
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'id'
|
||
2025-06-16 18:36:17,548 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'id'
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,549 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'id' 成功移除字段 'id' (原值: 'example_string')。
|
||
2025-06-16 18:36:17,549 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'id'。
|
||
2025-06-16 18:36:17,549 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,549 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:17,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:17,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,563 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,564 - testcase.TC-ERROR-4003-QUERY - INFO - Found required 'query' parameter: 'id'.
|
||
2025-06-16 18:36:17,564 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (Error Code -1 - Missing Required Query Parameter Validation) 已针对端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。Target param to remove: id
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) for endpoint 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749': application/json
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 object 类型数据 for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body). Properties: ['id', 'version']
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.id): example_string
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - [put__api_dms_dms_instance_code_v1_cd_geo_unit_135749] 生成 string 类型数据 ('') for (context: put__api_dms_dms_instance_code_v1_cd_geo_unit_135749_body.version): example_string
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'put__api_dms_dms_instance_code_v1_cd_geo_unit_135749' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,564 - testcase.TC-ERROR-4003-QUERY - INFO - 为进行必填查询参数缺失测试,已从查询参数中移除 'id' (原值: 'dsid')。
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,564 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-QUERY' 执行失败。[0m
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit' 测试完成,最终状态: 失败
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit (地质单元数据删除)
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,585 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 发现了 18 个适用的测试用例 (已排序): ['TC-HEADER-001', 'TC-STATUS-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-SECURITY-001', 'TC-ERROR-4001-QUERY', 'TC-ERROR-4001-BODY', 'TC-ERROR-4002', 'TC-ERROR-4006', 'TC-ERROR-4003-BODY', 'TC-ERROR-4003-QUERY']
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,586 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:17,586 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:17,587 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,587 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,587 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - INFO - API端点: DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: [{"name": "tenant-id", "in": "header", "required": true, "description": "tenant-id (Only:undefined)", "schema": {"type": "string"}}, {"name": "Authorization", "in": "header", "required": true, "description": "Authorization (Only:undefined)", "schema": {"type": "string"}}]
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-06-16 18:36:17,601 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=True, 必需=True, 名称=Authorization
|
||
2025-06-16 18:36:17,601 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-06-16 18:36:17,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:17,601 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,601 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,602 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:17,602 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,603 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,603 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,617 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,617 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,618 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'position', 'coord', 'location'}
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,618 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,634 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 81, 'message': 'eiusmod ad veniam nostrud est', 'data': False}
|
||
2025-06-16 18:36:17,634 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 81, 'message': 'eiusmod ad veniam nostrud est', 'data': False}
|
||
2025-06-16 18:36:17,634 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,634 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:17,635 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: ['API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除']
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,635 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:17,636 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:17,654 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-API信息收集: {
|
||
"method": "DELETE",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
|
||
"operationId": "delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {
|
||
"id": "dsid"
|
||
},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code"
|
||
},
|
||
"body": {
|
||
"version": "example_string",
|
||
"data": [
|
||
"example_string"
|
||
]
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "51",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:17 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 64, \"message\": \"consequat nulla\", \"data\": true}"
|
||
}
|
||
2025-06-16 18:36:17,654 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-标准: [
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
2025-06-16 18:36:17,654 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 发送给LLM的prompt:
|
||
你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。
|
||
|
||
合规性标准:
|
||
[
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
|
||
API信息:
|
||
{
|
||
"method": "DELETE",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
|
||
"operationId": "delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {
|
||
"id": "dsid"
|
||
},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code"
|
||
},
|
||
"body": {
|
||
"version": "example_string",
|
||
"data": [
|
||
"example_string"
|
||
]
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "51",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:17 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 64, \"message\": \"consequat nulla\", \"data\": true}"
|
||
}
|
||
|
||
请以如下JSON格式输出:
|
||
[
|
||
{"criterion": "标准内容", "passed": true/false, "reason": "理由"},
|
||
...
|
||
]
|
||
|
||
2025-06-16 18:36:17,654 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Request Payload:
|
||
{
|
||
"model": "qwen-plus",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": "你是一位API合规性专家,输出必须是严格的JSON数组。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": "\n你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。\n\n合规性标准:\n[\n \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\"\n]\n\nAPI信息:\n{\n \"method\": \"DELETE\",\n \"url\": \"http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\",\n \"path\": \"/api/dms/{dms_instance_code}/v1/cd_geo_unit\",\n \"operationId\": \"delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750\",\n \"headers\": {\n \"tenant-id\": \"header_val_tenant-id\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n \"query_params\": {\n \"id\": \"dsid\"\n },\n \"path_params\": {\n \"dms_instance_code\": \"example_dms_instance_code\"\n },\n \"body\": {\n \"version\": \"example_string\",\n \"data\": [\n \"example_string\"\n ]\n },\n \"response_status\": 200,\n \"response_headers\": {\n \"Vary\": \"Origin\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Content-Length\": \"51\",\n \"success\": \"false\",\n \"Date\": \"Mon, 16 Jun 2025 10:36:17 GMT\",\n \"Connection\": \"keep-alive\",\n \"Keep-Alive\": \"timeout=5\"\n },\n \"response_body\": \"{\\\"code\\\": 64, \\\"message\\\": \\\"consequat nulla\\\", \\\"data\\\": true}\"\n}\n\n请以如下JSON格式输出:\n[\n {\"criterion\": \"标准内容\", \"passed\": true/false, \"reason\": \"理由\"},\n ...\n]\n"
|
||
}
|
||
],
|
||
"max_tokens": 2048,
|
||
"temperature": 0.2
|
||
}
|
||
2025-06-16 18:36:22,901 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Response:
|
||
{
|
||
"choices": [
|
||
{
|
||
"message": {
|
||
"role": "assistant",
|
||
"content": "[\n {\n \"criterion\": \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\",\n \"passed\": true,\n \"reason\": \"API调用使用了DELETE方法,并且其路径和操作表明它正在删除资源(/cd_geo_unit),符合DELETE方法的语义。\"\n }\n]"
|
||
},
|
||
"finish_reason": "stop",
|
||
"index": 0,
|
||
"logprobs": null
|
||
}
|
||
],
|
||
"object": "chat.completion",
|
||
"usage": {
|
||
"prompt_tokens": 486,
|
||
"completion_tokens": 78,
|
||
"total_tokens": 564,
|
||
"prompt_tokens_details": {
|
||
"cached_tokens": 0
|
||
}
|
||
},
|
||
"created": 1750070183,
|
||
"system_fingerprint": null,
|
||
"model": "qwen-plus",
|
||
"id": "chatcmpl-c938e772-4409-901c-ac8d-9ed61cce622b"
|
||
}
|
||
2025-06-16 18:36:22,902 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM原始响应: [
|
||
{
|
||
"criterion": "API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除",
|
||
"passed": true,
|
||
"reason": "API调用使用了DELETE方法,并且其路径和操作表明它正在删除资源(/cd_geo_unit),符合DELETE方法的语义。"
|
||
}
|
||
]
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:22,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:22,903 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:22,959 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-06-16 18:36:22,959 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-06-16 18:36:22,960 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:22,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:22,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:22,962 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 29' -d '{"version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 29\' -d \'{"version": "example_string"}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -X PUT -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 53\' -d \'{"id": "example_string", "version": "example_string"}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
2025-06-16 18:36:22,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-PAGINATION-001' 执行成功。[0m
|
||
2025-06-16 18:36:22,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:22,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:22,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:22,992 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,012 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-06-16 18:36:23,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,014 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-06-16 18:36:23,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,033 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,034 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,050 - testcase.TC-CORE-FUNC-001 - INFO - 将根据路径 'responses.200.content.application/json.schema' 的schema验证响应体。
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,053 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,068 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,069 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,070 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,071 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,089 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-06-16 18:36:23,089 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,089 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,089 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,089 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,090 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,090 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,091 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,091 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-06-16 18:36:23,110 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-06-16 18:36:23,110 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-06-16 18:36:23,110 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:23,110 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,111 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,111 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,112 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-06-16 18:36:23,112 - testcase.TC-ERROR-4001-QUERY - DEBUG - _find_first_simple_type_parameter: Checking query parameter 'id'.
|
||
2025-06-16 18:36:23,112 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: Found simple type query parameter 'id' (type: string) via its 'schema'.
|
||
2025-06-16 18:36:23,112 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Target for type mismatch (query): Param='id', Path='id', Type='string'
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,112 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - [TC-ERROR-4001-QUERY] Preparing to modify query params for type mismatch. Target path: ['id'], Original type: string
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Generated mismatched value '12345' for original type 'string' at query path 'id'.
|
||
2025-06-16 18:36:23,113 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 id (键 'id') 处设置值为 '12345'
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - [TC-ERROR-4001-QUERY] Successfully set mismatched value in query params using util_set_value_at_path.
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-06-16 18:36:23,113 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,113 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:23,113 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:23,127 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.013712882995605469
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-QUERY' 执行失败。[0m
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,127 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Initializing: Looking for a simple type field in request body for type mismatch test.
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Preparing to modify request body for type mismatch. Target path: ['version'], Original type: string
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,128 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,128 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:23,129 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 46' -d '{"version": 12345, "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
2025-06-16 18:36:23,143 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.014533042907714844
|
||
2025-06-16 18:36:23,143 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:23,143 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,144 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,144 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,144 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-06-16 18:36:23,144 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:23,144 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-06-16 18:36:23,144 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-06-16 18:36:23,144 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,145 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:23,145 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:23,159 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.01357412338256836
|
||
2025-06-16 18:36:23,159 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-06-16 18:36:23,159 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,159 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,160 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,160 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-06-16 18:36:23,161 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-06-16 18:36:23,161 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,161 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,162 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,162 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,176 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: [], 属性: ['version', 'data']
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 在路径 root 未通过任何策略找到可移除的必填字段。
|
||
2025-06-16 18:36:23,177 - testcase.TC-ERROR-4003-BODY - INFO - No removable (required) field path found in 'request body' schema.
|
||
2025-06-16 18:36:23,177 - testcase.TC-ERROR-4003-BODY - INFO - 在请求体 schema 中未找到可用于测试 "必填字段缺失" 的字段(通过基类方法)。
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,177 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,178 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,194 - testcase.TC-ERROR-4003-BODY - INFO - 由于未识别到可移除的必填请求体字段,跳过此测试用例的验证。
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-BODY' 执行成功。[0m
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('id') 的 schema...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,195 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,196 - testcase.TC-ERROR-4003-QUERY - INFO - Found required 'query' parameter: 'id'.
|
||
2025-06-16 18:36:23,196 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (Error Code -1 - Missing Required Query Parameter Validation) 已针对端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。Target param to remove: id
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) for endpoint 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'id': 'dsid'}
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750': application/json
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 object 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.version): example_string
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 array 类型数据 for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750] 生成 string 类型数据 ('') for (context: delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750_body.data[0]): example_string
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete__api_dms_dms_instance_code_v1_cd_geo_unit_135750' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,196 - testcase.TC-ERROR-4003-QUERY - INFO - 为进行必填查询参数缺失测试,已从查询参数中移除 'id' (原值: 'dsid')。
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,196 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,210 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-QUERY' 执行失败。[0m
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit' 测试完成,最终状态: 失败
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit (地质单元数据添加)
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,211 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 发现了 18 个适用的测试用例 (已排序): ['TC-HEADER-001', 'TC-STATUS-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-SECURITY-001', 'TC-ERROR-4001-QUERY', 'TC-ERROR-4001-BODY', 'TC-ERROR-4002', 'TC-ERROR-4006', 'TC-ERROR-4003-BODY', 'TC-ERROR-4003-QUERY']
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,212 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:23,212 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,213 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,232 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,232 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: [{"name": "tenant-id", "in": "header", "required": true, "description": "tenant-id (Only:undefined)", "schema": {"type": "string"}}, {"name": "Authorization", "in": "header", "required": true, "description": "Authorization (Only:undefined)", "schema": {"type": "string"}}]
|
||
2025-06-16 18:36:23,232 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:23,233 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-06-16 18:36:23,233 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:23,233 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-06-16 18:36:23,233 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=True, 必需=True, 名称=Authorization
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,233 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,234 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,234 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,249 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,249 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,250 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'position', 'coord', 'location'}
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:23,250 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,251 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,251 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:23,265 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 20, 'message': 'do anim consequat dolore qui', 'data': True}
|
||
2025-06-16 18:36:23,265 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 20, 'message': 'do anim consequat dolore qui', 'data': True}
|
||
2025-06-16 18:36:23,265 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,265 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:23,266 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: ['API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除']
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:23,266 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:23,267 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 46\' -d \'{"version": 12345, "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid\''
|
||
DEBUG: curlify generated command (raw): curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -X DELETE -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 57\' -d \'{"version": "example_string", "data": ["example_string"]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
2025-06-16 18:36:23,281 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-API信息收集: {
|
||
"method": "POST",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
|
||
"operationId": "post__api_dms_dms_instance_code_v1_cd_geo_unit_135748",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code"
|
||
},
|
||
"body": {
|
||
"version": "example_string",
|
||
"data": [
|
||
{
|
||
"bsflag": 0.0,
|
||
"wellCommonName": "example_string",
|
||
"wellId": "example_string",
|
||
"dataRegion": "example_string"
|
||
}
|
||
]
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "51",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:23 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 98, \"message\": \"laboris ex qui\", \"data\": false}"
|
||
}
|
||
2025-06-16 18:36:23,281 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-标准: [
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
2025-06-16 18:36:23,281 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 发送给LLM的prompt:
|
||
你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。
|
||
|
||
合规性标准:
|
||
[
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
|
||
API信息:
|
||
{
|
||
"method": "POST",
|
||
"url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit",
|
||
"operationId": "post__api_dms_dms_instance_code_v1_cd_geo_unit_135748",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code"
|
||
},
|
||
"body": {
|
||
"version": "example_string",
|
||
"data": [
|
||
{
|
||
"bsflag": 0.0,
|
||
"wellCommonName": "example_string",
|
||
"wellId": "example_string",
|
||
"dataRegion": "example_string"
|
||
}
|
||
]
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "51",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:23 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 98, \"message\": \"laboris ex qui\", \"data\": false}"
|
||
}
|
||
|
||
请以如下JSON格式输出:
|
||
[
|
||
{"criterion": "标准内容", "passed": true/false, "reason": "理由"},
|
||
...
|
||
]
|
||
|
||
2025-06-16 18:36:23,281 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Request Payload:
|
||
{
|
||
"model": "qwen-plus",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": "你是一位API合规性专家,输出必须是严格的JSON数组。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": "\n你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。\n\n合规性标准:\n[\n \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\"\n]\n\nAPI信息:\n{\n \"method\": \"POST\",\n \"url\": \"http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\",\n \"path\": \"/api/dms/{dms_instance_code}/v1/cd_geo_unit\",\n \"operationId\": \"post__api_dms_dms_instance_code_v1_cd_geo_unit_135748\",\n \"headers\": {\n \"tenant-id\": \"header_val_tenant-id\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n \"query_params\": {},\n \"path_params\": {\n \"dms_instance_code\": \"example_dms_instance_code\"\n },\n \"body\": {\n \"version\": \"example_string\",\n \"data\": [\n {\n \"bsflag\": 0.0,\n \"wellCommonName\": \"example_string\",\n \"wellId\": \"example_string\",\n \"dataRegion\": \"example_string\"\n }\n ]\n },\n \"response_status\": 200,\n \"response_headers\": {\n \"Vary\": \"Origin\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Content-Length\": \"51\",\n \"success\": \"false\",\n \"Date\": \"Mon, 16 Jun 2025 10:36:23 GMT\",\n \"Connection\": \"keep-alive\",\n \"Keep-Alive\": \"timeout=5\"\n },\n \"response_body\": \"{\\\"code\\\": 98, \\\"message\\\": \\\"laboris ex qui\\\", \\\"data\\\": false}\"\n}\n\n请以如下JSON格式输出:\n[\n {\"criterion\": \"标准内容\", \"passed\": true/false, \"reason\": \"理由\"},\n ...\n]\n"
|
||
}
|
||
],
|
||
"max_tokens": 2048,
|
||
"temperature": 0.2
|
||
}
|
||
2025-06-16 18:36:27,267 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Response:
|
||
{
|
||
"choices": [
|
||
{
|
||
"message": {
|
||
"role": "assistant",
|
||
"content": "[\n {\n \"criterion\": \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\",\n \"passed\": true,\n \"reason\": \"当前API调用使用了POST方法,并且根据其路径和操作内容(/cd_geo_unit),可以推测该请求的目的是创建或新增数据,符合POST方法的语义。\"\n }\n]"
|
||
},
|
||
"finish_reason": "stop",
|
||
"index": 0,
|
||
"logprobs": null
|
||
}
|
||
],
|
||
"object": "chat.completion",
|
||
"usage": {
|
||
"prompt_tokens": 514,
|
||
"completion_tokens": 87,
|
||
"total_tokens": 601,
|
||
"prompt_tokens_details": {
|
||
"cached_tokens": 0
|
||
}
|
||
},
|
||
"created": 1750070187,
|
||
"system_fingerprint": null,
|
||
"model": "qwen-plus",
|
||
"id": "chatcmpl-f7f415a1-45c3-9089-8174-6aad8410402c"
|
||
}
|
||
2025-06-16 18:36:27,268 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM原始响应: [
|
||
{
|
||
"criterion": "API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除",
|
||
"passed": true,
|
||
"reason": "当前API调用使用了POST方法,并且根据其路径和操作内容(/cd_geo_unit),可以推测该请求的目的是创建或新增数据,符合POST方法的语义。"
|
||
}
|
||
]
|
||
2025-06-16 18:36:27,268 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,268 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,269 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,270 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,271 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,325 - testcase.TC-RESTful-001 - INFO - responses: {'201': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-06-16 18:36:27,325 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['201']
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,326 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,327 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,327 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,327 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,327 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-PAGINATION-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,350 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,373 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,374 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,390 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,390 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,391 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,391 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,407 - testcase.TC-CORE-FUNC-001 - INFO - 响应包含JSON体,但在API规范中未找到针对状态码 200 的JSON schema。跳过schema验证。
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,407 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
status_code: 200
|
||
responses: {'201': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,429 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,447 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,447 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,447 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-06-16 18:36:27,463 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No target field or original type identified for query param type mismatch. Skipping query param modification.
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,463 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:27,463 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.016448020935058594
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Initializing: Looking for a simple type field in request body for type mismatch test.
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Preparing to modify request body for type mismatch. Target path: ['version'], Original type: string
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,480 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:27,480 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.018336057662963867
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: POST /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,499 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:27,499 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:27,514 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.014952898025512695
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,514 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,515 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-06-16 18:36:27,515 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-06-16 18:36:27,515 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,515 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,533 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: [], 属性: ['version', 'data']
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略2: 在数组属性 'data' (路径 root) 的元素内找到必填字段: 'bsflag'. 路径: ['data', 0, 'bsflag']
|
||
2025-06-16 18:36:27,534 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data.0.bsflag'
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data.0.bsflag' 成功移除字段 'bsflag' (原值: '0.0')。
|
||
2025-06-16 18:36:27,534 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data.0.bsflag'。
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,534 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 141' -d '{"version": 12345, "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 141\' -d \'{"version": 12345, "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 137' -d '{"version": "example_string", "data": [{"wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '201' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,548 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-06-16 18:36:27,548 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (Error Code -1 - Missing Required Query Parameter Validation) 已针对端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 初始化。Target param to remove: None
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) for endpoint 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:27,548 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:27,561 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit' 测试完成,最终状态: 失败
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id} (地质单元查询详情)
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'。
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 发现了 18 个适用的测试用例 (已排序): ['TC-HEADER-001', 'TC-STATUS-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-SECURITY-001', 'TC-ERROR-4001-QUERY', 'TC-ERROR-4001-BODY', 'TC-ERROR-4002', 'TC-ERROR-4006', 'TC-ERROR-4003-BODY', 'TC-ERROR-4003-QUERY']
|
||
2025-06-16 18:36:27,561 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,562 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 初始化。
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,562 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - INFO - API端点: GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: [{"name": "tenant-id", "in": "header", "required": true, "description": "tenant-id (Only:undefined)", "schema": {"type": "string"}}, {"name": "Authorization", "in": "header", "required": true, "description": "Authorization (Only:undefined)", "schema": {"type": "string"}}]
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-06-16 18:36:27,580 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=True, 必需=True, 名称=Authorization
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,580 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 初始化。
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,580 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,581 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:27,595 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for 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
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:27,595 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,596 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'position', 'coord', 'location'}
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,596 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 75, 'message': 'quis consectetur anim tempor fugiat', 'data': {'total': 69, 'list': [{'dsid': '78', 'dataRegion': 'pariatur est nostrud Duis', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '66', 'dataRegion': 'nisi consequat dolore ullamco', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '89', 'dataRegion': 'dolore eiusmod', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]}}
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 75, 'message': 'quis consectetur anim tempor fugiat', 'data': {'total': 69, 'list': [{'dsid': '78', 'dataRegion': 'pariatur est nostrud Duis', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '66', 'dataRegion': 'nisi consequat dolore ullamco', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '89', 'dataRegion': 'dolore eiusmod', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]}}
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_data:{'total': 69, 'list': [{'dsid': '78', 'dataRegion': 'pariatur est nostrud Duis', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '66', 'dataRegion': 'nisi consequat dolore ullamco', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '89', 'dataRegion': 'dolore eiusmod', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]}
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_data:[{'dsid': '78', 'dataRegion': 'pariatur est nostrud Duis', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '66', 'dataRegion': 'nisi consequat dolore ullamco', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}, {'dsid': '89', 'dataRegion': 'dolore eiusmod', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}]
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '78', 'dataRegion': 'pariatur est nostrud Duis', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '66', 'dataRegion': 'nisi consequat dolore ullamco', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - response_data:{'dsid': '89', 'dataRegion': 'dolore eiusmod', 'gasReleaseMon': None, 'gasReleaseYear': None, 'releaseGasCum': None}
|
||
2025-06-16 18:36:27,610 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:27,610 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: ['API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除']
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:27,610 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:27,611 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 137\' -d \'{"version": "example_string", "data": [{"wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 152\' -d \'{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
2025-06-16 18:36:27,623 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-API信息收集: {
|
||
"method": "GET",
|
||
"url": "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",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}",
|
||
"operationId": "get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code",
|
||
"version": "1.0.0",
|
||
"id": "example_id"
|
||
},
|
||
"body": {
|
||
"isSearchCount": true,
|
||
"query": {
|
||
"dataRegions": [
|
||
"example_string"
|
||
],
|
||
"fields": [
|
||
"example_string"
|
||
],
|
||
"filter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"groupFields": [
|
||
"example_string"
|
||
],
|
||
"groupFilter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"sort": {}
|
||
}
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "184",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:27 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 47, \"message\": \"sunt\", \"data\": {\"total\": 81, \"list\": [{\"dsid\": \"24\", \"dataRegion\": \"sed velit consequat reprehenderit\", \"gasReleaseMon\": null, \"gasReleaseYear\": null, \"releaseGasCum\": null}]}}"
|
||
}
|
||
2025-06-16 18:36:27,623 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM合规性检查-标准: [
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
2025-06-16 18:36:27,623 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 发送给LLM的prompt:
|
||
你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。
|
||
|
||
合规性标准:
|
||
[
|
||
"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除"
|
||
]
|
||
|
||
API信息:
|
||
{
|
||
"method": "GET",
|
||
"url": "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",
|
||
"path": "/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}",
|
||
"operationId": "get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752",
|
||
"headers": {
|
||
"tenant-id": "header_val_tenant-id",
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
},
|
||
"query_params": {},
|
||
"path_params": {
|
||
"dms_instance_code": "example_dms_instance_code",
|
||
"version": "1.0.0",
|
||
"id": "example_id"
|
||
},
|
||
"body": {
|
||
"isSearchCount": true,
|
||
"query": {
|
||
"dataRegions": [
|
||
"example_string"
|
||
],
|
||
"fields": [
|
||
"example_string"
|
||
],
|
||
"filter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"groupFields": [
|
||
"example_string"
|
||
],
|
||
"groupFilter": {
|
||
"key": "example_string",
|
||
"logic": "example_string",
|
||
"realValue": [
|
||
{}
|
||
],
|
||
"singleValue": {},
|
||
"subFilter": [
|
||
"example_string"
|
||
],
|
||
"symbol": "example_string"
|
||
},
|
||
"sort": {}
|
||
}
|
||
},
|
||
"response_status": 200,
|
||
"response_headers": {
|
||
"Vary": "Origin",
|
||
"Access-Control-Allow-Origin": "*",
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Content-Length": "184",
|
||
"success": "false",
|
||
"Date": "Mon, 16 Jun 2025 10:36:27 GMT",
|
||
"Connection": "keep-alive",
|
||
"Keep-Alive": "timeout=5"
|
||
},
|
||
"response_body": "{\"code\": 47, \"message\": \"sunt\", \"data\": {\"total\": 81, \"list\": [{\"dsid\": \"24\", \"dataRegion\": \"sed velit consequat reprehenderit\", \"gasReleaseMon\": null, \"gasReleaseYear\": null, \"releaseGasCum\": null}]}}"
|
||
}
|
||
|
||
请以如下JSON格式输出:
|
||
[
|
||
{"criterion": "标准内容", "passed": true/false, "reason": "理由"},
|
||
...
|
||
]
|
||
|
||
2025-06-16 18:36:27,623 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Request Payload:
|
||
{
|
||
"model": "qwen-plus",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": "你是一位API合规性专家,输出必须是严格的JSON数组。"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": "\n你是一位API合规性专家。请根据以下合规性标准,对给定的API调用信息进行逐条评估。每条标准请给出是否通过(true/false)和理由。\n\n合规性标准:\n[\n \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\"\n]\n\nAPI信息:\n{\n \"method\": \"GET\",\n \"url\": \"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\",\n \"path\": \"/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}\",\n \"operationId\": \"get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752\",\n \"headers\": {\n \"tenant-id\": \"header_val_tenant-id\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n \"query_params\": {},\n \"path_params\": {\n \"dms_instance_code\": \"example_dms_instance_code\",\n \"version\": \"1.0.0\",\n \"id\": \"example_id\"\n },\n \"body\": {\n \"isSearchCount\": true,\n \"query\": {\n \"dataRegions\": [\n \"example_string\"\n ],\n \"fields\": [\n \"example_string\"\n ],\n \"filter\": {\n \"key\": \"example_string\",\n \"logic\": \"example_string\",\n \"realValue\": [\n {}\n ],\n \"singleValue\": {},\n \"subFilter\": [\n \"example_string\"\n ],\n \"symbol\": \"example_string\"\n },\n \"groupFields\": [\n \"example_string\"\n ],\n \"groupFilter\": {\n \"key\": \"example_string\",\n \"logic\": \"example_string\",\n \"realValue\": [\n {}\n ],\n \"singleValue\": {},\n \"subFilter\": [\n \"example_string\"\n ],\n \"symbol\": \"example_string\"\n },\n \"sort\": {}\n }\n },\n \"response_status\": 200,\n \"response_headers\": {\n \"Vary\": \"Origin\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Content-Length\": \"184\",\n \"success\": \"false\",\n \"Date\": \"Mon, 16 Jun 2025 10:36:27 GMT\",\n \"Connection\": \"keep-alive\",\n \"Keep-Alive\": \"timeout=5\"\n },\n \"response_body\": \"{\\\"code\\\": 47, \\\"message\\\": \\\"sunt\\\", \\\"data\\\": {\\\"total\\\": 81, \\\"list\\\": [{\\\"dsid\\\": \\\"24\\\", \\\"dataRegion\\\": \\\"sed velit consequat reprehenderit\\\", \\\"gasReleaseMon\\\": null, \\\"gasReleaseYear\\\": null, \\\"releaseGasCum\\\": null}]}}\"\n}\n\n请以如下JSON格式输出:\n[\n {\"criterion\": \"标准内容\", \"passed\": true/false, \"reason\": \"理由\"},\n ...\n]\n"
|
||
}
|
||
],
|
||
"max_tokens": 2048,
|
||
"temperature": 0.2
|
||
}
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.llm_utils.llm_service - DEBUG - LLM API Response:
|
||
{
|
||
"choices": [
|
||
{
|
||
"message": {
|
||
"role": "assistant",
|
||
"content": "[\n {\n \"criterion\": \"API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除\",\n \"passed\": true,\n \"reason\": \"当前API调用使用了GET方法,并且其路径和参数表明它用于检索数据,符合标准。\"\n }\n]"
|
||
},
|
||
"finish_reason": "stop",
|
||
"index": 0,
|
||
"logprobs": null
|
||
}
|
||
],
|
||
"object": "chat.completion",
|
||
"usage": {
|
||
"prompt_tokens": 718,
|
||
"completion_tokens": 70,
|
||
"total_tokens": 788,
|
||
"prompt_tokens_details": {
|
||
"cached_tokens": 0
|
||
}
|
||
},
|
||
"created": 1750070194,
|
||
"system_fingerprint": null,
|
||
"model": "qwen-plus",
|
||
"id": "chatcmpl-59b3e6f2-8738-9380-9a4f-8cb945385ea6"
|
||
}
|
||
2025-06-16 18:36:34,114 - testcase.TC-LLM-COMPLIANCE-001 - INFO - LLM原始响应: [
|
||
{
|
||
"criterion": "API应该使用正确的HTTP方法:GET用于检索,POST用于创建,PUT用于更新,DELETE用于删除",
|
||
"passed": true,
|
||
"reason": "当前API调用使用了GET方法,并且其路径和参数表明它用于检索数据,符合标准。"
|
||
}
|
||
]
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,114 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,115 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,154 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}}}}
|
||
2025-06-16 18:36:34,154 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-06-16 18:36:34,154 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,154 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,155 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-PAGINATION-001' 执行成功。[0m
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,178 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,179 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,179 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,201 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,202 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Successful Operation (from YAPI res_body)', 'content': {'application/json': {'schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,221 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 初始化。
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (Response Body JSON Schema Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,221 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,222 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,240 - testcase.TC-CORE-FUNC-001 - INFO - 将根据路径 'responses.200.content.application/json.schema' 的schema验证响应体。
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,240 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,241 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,259 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,260 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,276 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 初始化。
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS Protocol Mandatory Verification) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,276 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,277 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,277 - testcase.TC-SECURITY-001 - WARNING - 原始URL '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' 不是HTTPS。跳过此测试用例的URL修改。
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
2025-06-16 18:36:34,296 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,296 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}
|
||
2025-06-16 18:36:34,296 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-06-16 18:36:34,296 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-06-16 18:36:34,296 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (Error Code -1 - Query Parameter Type Mismatch Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,296 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No target field or original type identified for query param type mismatch. Skipping query param modification.
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,297 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: 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
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: 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
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:34,297 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.01862192153930664
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Initializing: Looking for a simple type field in request body for type mismatch test.
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=isSearchCount, Type=boolean
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=isSearchCount, Type=boolean
|
||
2025-06-16 18:36:34,316 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): isSearchCount, Original Type: boolean
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (Error Code -1 - Request Body Type Mismatch Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,316 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,317 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Preparing to modify request body for type mismatch. Target path: ['isSearchCount'], Original type: boolean
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value 'not-a-boolean' for original type 'boolean' at path 'isSearchCount'.
|
||
2025-06-16 18:36:34,317 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 isSearchCount (键 'isSearchCount') 处设置值为 'not-a-boolean'
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-06-16 18:36:34,317 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,317 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: 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
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: 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
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:34,317 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.015293359756469727
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,332 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-06-16 18:36:34,332 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (Error Code -1 - Number Value Out of Range Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,333 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: 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
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: 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
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['tenant-id', 'Content-Type', 'Accept']
|
||
2025-06-16 18:36:34,333 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-06-16 18:36:34,349 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.015764951705932617
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,349 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-06-16 18:36:34,349 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Found enum field in BODY at path: query.filter.logic
|
||
2025-06-16 18:36:34,349 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Target found in 'body' at path 'query.filter.logic'. Valid enums: ['AND', 'OR'], Desc: '逻辑操作符,可选值为:AND、OR'
|
||
2025-06-16 18:36:34,349 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Setting invalid enum value to 'invalid_enum_zi0ifg' (valid are ['AND', 'OR']).
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (Error Code 4006 - Invalid Enum Value Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,349 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,350 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 query.filter.logic (键 'logic') 处设置值为 'invalid_enum_zi0ifg'
|
||
2025-06-16 18:36:34,350 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,350 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 488\' -d \'{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 482' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "invalid_enum_zi0ifg", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4006' 执行失败。[0m
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 失败
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: [], 属性: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 在路径 root 未通过任何策略找到可移除的必填字段。
|
||
2025-06-16 18:36:34,364 - testcase.TC-ERROR-4003-BODY - INFO - No removable (required) field path found in 'request body' schema.
|
||
2025-06-16 18:36:34,364 - testcase.TC-ERROR-4003-BODY - INFO - 在请求体 schema 中未找到可用于测试 "必填字段缺失" 的字段(通过基类方法)。
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (Error Code -1 - Missing Required Request Body Field Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,364 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,365 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,427 - testcase.TC-ERROR-4003-BODY - INFO - 由于未识别到可移除的必填请求体字段,跳过此测试用例的验证。
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-BODY' 执行成功。[0m
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedYAPISpec'>) to dict using .spec attribute.
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['yapi_categories']
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/RdbQueryPageInput
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/QueryVO
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.utils.schema_utils - DEBUG - 因 discard_refs=True,丢弃 '$ref': #/components/schemas/FilterVO
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('dms_instance_code') 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[1] ('version') 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[2] ('id') 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[3] ('tenant-id') 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[4] ('Authorization') 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.YAPIEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_yapi_id', '_yapi_raw_data', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['yapi_categories'])
|
||
2025-06-16 18:36:34,427 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-06-16 18:36:34,427 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (Error Code -1 - Missing Required Query Parameter Validation) 已针对端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 初始化。Target param to remove: None
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (Error Code -1 - Missing Required Query Parameter Validation) for endpoint 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752': application/json
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 使用 schema 中的 'default' 值 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.isSearchCount): True
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,427 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 array 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter). Items schema: {'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 string 类型数据 ('') for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - [get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752] 生成 object 类型数据 for (context: get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'get__api_dms_dms_instance_code_v1_cd_geo_unit_version_id_135752' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0', 'id': 'example_id'}
|
||
2025-06-16 18:36:34,428 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): 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
|
||
2025-06-16 18:36:34,443 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}' 测试完成,最终状态: 失败
|
||
2025-06-16 18:36:34,443 - __main__ - INFO - 开始执行API测试阶段 (Stages),目录: ./custom_stages
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行API测试阶段 (Stages)...
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - INFO - 发现了 1 个已定义的测试阶段: ['generic_crud_validation_stage']
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - INFO - 将针对 2 个API分组评估测试阶段: ['公共分类', '地质单元']
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - INFO - 处理测试阶段定义: ID='generic_crud_validation_stage', Name='Generic CRUD Validation Stage'
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备阶段 'generic_crud_validation_stage' 的上下文,针对API分组: '公共分类'
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - DEBUG - For YAPI group '公共分类' (resolved ID: 17672), selected 1 endpoint objects.
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - DEBUG - 为阶段 'generic_crud_validation_stage' 和分组 '公共分类' 实例化。API对象数量: 1. 元数据: {'name': '公共分类', 'description': '公共分类', 'id': 17672}
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.test_orchestrator - DEBUG - 检查阶段 'generic_crud_validation_stage' 是否适用于API分组 '公共分类'...
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Checking applicability of 'Generic CRUD Validation Stage' for API group '公共分类'.
|
||
2025-06-16 18:36:34,443 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Using default field/path configurations for group '公共分类'. Customize by overriding _determine_resource_config or cfg_* attributes.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['add', 'create', 'new', '添加', '新建', '创建']', target_method='POST', path_id_required=False, path_id_forbidden=True
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='数据推送接口', Method='POST', Path='/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '数据推送接口': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135716, 'method': 'POST', 'title': '数据推送接口', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 17672, 'markdown': '', 'uid': 808, 'add_time': 1744780583, 'up_time': 1744780741, '__v': 0}, 'title': '数据推送接口', 'desc': '', '_id': 135716, 'project_id': 1193, 'catid': 17672, 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 808, 'category_name': '公共分类', 'category_id': 17672, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Action match with '['add', 'create', 'new', '添加', '新建', '创建']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Method match with 'POST'? True (Endpoint method: POST)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '数据推送接口': Checking req_params for path ID: [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '数据推送接口' (Action: False, Method: True, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - FAILURE: No operation found after checking all endpoints for: actions='['add', 'create', 'new', '添加', '新建', '创建']', method='POST', path_id_required=False, path_id_forbidden=True
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['list', 'query', 'search', 'getall', 'getlist', '列表查询', '查询列表', '获取列表', '分页查询']', target_method='None', path_id_required=False, path_id_forbidden=True
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='数据推送接口', Method='POST', Path='/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '数据推送接口': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135716, 'method': 'POST', 'title': '数据推送接口', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 17672, 'markdown': '', 'uid': 808, 'add_time': 1744780583, 'up_time': 1744780741, '__v': 0}, 'title': '数据推送接口', 'desc': '', '_id': 135716, 'project_id': 1193, 'catid': 17672, 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 808, 'category_name': '公共分类', 'category_id': 17672, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Action match with '['list', 'query', 'search', 'getall', 'getlist', '列表查询', '查询列表', '获取列表', '分页查询']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Method match with 'None'? True (Endpoint method: POST)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '数据推送接口': Checking req_params for path ID: [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '数据推送接口' (Action: False, Method: True, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - FAILURE: No operation found after checking all endpoints for: actions='['list', 'query', 'search', 'getall', 'getlist', '列表查询', '查询列表', '获取列表', '分页查询']', method='None', path_id_required=False, path_id_forbidden=True
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']', target_method='GET', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='数据推送接口', Method='POST', Path='/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '数据推送接口': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135716, 'method': 'POST', 'title': '数据推送接口', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 17672, 'markdown': '', 'uid': 808, 'add_time': 1744780583, 'up_time': 1744780741, '__v': 0}, 'title': '数据推送接口', 'desc': '', '_id': 135716, 'project_id': 1193, 'catid': 17672, 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 808, 'category_name': '公共分类', 'category_id': 17672, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Action match with '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Method match with 'GET'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '数据推送接口': Checking req_params for path ID: [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '数据推送接口' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - FAILURE: No operation found after checking all endpoints for: actions='['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']', method='GET', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['update', 'edit', 'put', '修改', '更新']', target_method='PUT', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='数据推送接口', Method='POST', Path='/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '数据推送接口': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135716, 'method': 'POST', 'title': '数据推送接口', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 17672, 'markdown': '', 'uid': 808, 'add_time': 1744780583, 'up_time': 1744780741, '__v': 0}, 'title': '数据推送接口', 'desc': '', '_id': 135716, 'project_id': 1193, 'catid': 17672, 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 808, 'category_name': '公共分类', 'category_id': 17672, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Action match with '['update', 'edit', 'put', '修改', '更新']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Method match with 'PUT'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '数据推送接口': Checking req_params for path ID: [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '数据推送接口' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - FAILURE: No operation found after checking all endpoints for: actions='['update', 'edit', 'put', '修改', '更新']', method='PUT', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['delete', 'remove', '删除']', target_method='DELETE', path_id_required=False, path_id_forbidden=False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='数据推送接口', Method='POST', Path='/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '数据推送接口': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135716, 'method': 'POST', 'title': '数据推送接口', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}', 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 17672, 'markdown': '', 'uid': 808, 'add_time': 1744780583, 'up_time': 1744780741, '__v': 0}, 'title': '数据推送接口', 'desc': '', '_id': 135716, 'project_id': 1193, 'catid': 17672, 'req_params': [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '67ff3dc5335acf11b4926aba', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '67ff3dc5335acfae3f926ab9', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '67ff3dc5335acfad4f926ab8', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 808, 'category_name': '公共分类', 'category_id': 17672, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Action match with '['delete', 'remove', '删除']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Method match with 'DELETE'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '数据推送接口': Checking req_params for path ID: [{'_id': '67ff3dc5335acf6754926ab7', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '67ff3dc5335acf0829926ab6', 'name': 'schema', 'desc': ''}, {'_id': '67ff3dc5335acf485f926ab5', 'name': 'version', 'desc': ''}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '数据推送接口': Calculated path_condition_met=True (required=False, forbidden=False)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '数据推送接口' (Action: False, Method: False, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - FAILURE: No operation found after checking all endpoints for: actions='['delete', 'remove', '删除']', method='DELETE', path_id_required=False, path_id_forbidden=False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - 'Generic CRUD Validation Stage' is NOT APPLICABLE for group '公共分类'. Missing required operations: ['create', 'detail', 'delete']. Discovered keys: {'create': None, 'list': None, 'detail': None, 'update': None, 'delete': None}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'generic_crud_validation_stage' 不适用于API分组 '公共分类'。跳过此分组。
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备阶段 'generic_crud_validation_stage' 的上下文,针对API分组: '地质单元'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.test_orchestrator - DEBUG - For YAPI group '地质单元' (resolved ID: 18705), selected 5 endpoint objects.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.test_orchestrator - DEBUG - 为阶段 'generic_crud_validation_stage' 和分组 '地质单元' 实例化。API对象数量: 5. 元数据: {'name': '地质单元', 'description': None, 'id': 18705}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.test_orchestrator - DEBUG - 检查阶段 'generic_crud_validation_stage' 是否适用于API分组 '地质单元'...
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Checking applicability of 'Generic CRUD Validation Stage' for API group '地质单元'.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Using default field/path configurations for group '地质单元'. Customize by overriding _determine_resource_config or cfg_* attributes.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['add', 'create', 'new', '添加', '新建', '创建']', target_method='POST', path_id_required=False, path_id_forbidden=True
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元列表查询', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元列表查询': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135751, 'method': 'POST', 'title': '地质单元列表查询', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736910, 'up_time': 1745737050, '__v': 0}, 'title': '地质单元列表查询', 'desc': '', '_id': 135751, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Action match with '['add', 'create', 'new', '添加', '新建', '创建']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Method match with 'POST'? True (Endpoint method: POST)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元列表查询': Checking req_params for path ID: [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元列表查询' (Action: False, Method: True, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据修改', Method='PUT', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据修改': {'method': 'PUT', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135749, 'method': 'PUT', 'title': '地质单元数据修改', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736976, '__v': 0}, 'title': '地质单元数据修改', 'desc': '', '_id': 135749, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'id': {'type': 'string', 'required': True}, 'version': {'type': 'string'}}, 'required': ['id', 'version']}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Action match with '['add', 'create', 'new', '添加', '新建', '创建']'? False
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Method match with 'POST'? False (Endpoint method: PUT)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据修改': Checking req_params for path ID: [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据修改' (Action: False, Method: False, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,444 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据删除', Method='DELETE', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据删除': {'method': 'DELETE', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135750, 'method': 'DELETE', 'title': '地质单元数据删除', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736908, 'up_time': 1745736987, '__v': 0}, 'title': '地质单元数据删除', 'desc': '', '_id': 135750, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '版本号'}, 'data': {'type': 'array', 'items': {'type': 'string'}, 'title': '主键id数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Action match with '['add', 'create', 'new', '添加', '新建', '创建']'? False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Method match with 'POST'? False (Endpoint method: DELETE)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据删除': Checking req_params for path ID: [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据删除' (Action: False, Method: False, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据添加', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据添加': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'done', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135748, 'method': 'POST', 'title': '地质单元数据添加', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd4ff335acfc5c7926ceb', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd4ff335acff16f926cea', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd4ff335acf1a5c926ce9', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"交换模型版本号"},"data":{"type":"array","items":{"type":"object","properties":{"bsflag":{"type":"number","title":"必填字段删除标记"},"wellCommonName":{"type":"string"},"wellId":{"type":"string"},"dataRegion":{"type":"string"}},"required":["bsflag","wellCommonName","wellId","dataRegion"]},"title":"交换模型数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736959, '__v': 0}, 'title': '地质单元数据添加', 'desc': '', '_id': 135748, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '680dd4ff335acfc5c7926ceb', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd4ff335acff16f926cea', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd4ff335acf1a5c926ce9', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"交换模型版本号"},"data":{"type":"array","items":{"type":"object","properties":{"bsflag":{"type":"number","title":"必填字段删除标记"},"wellCommonName":{"type":"string"},"wellId":{"type":"string"},"dataRegion":{"type":"string"}},"required":["bsflag","wellCommonName","wellId","dataRegion"]},"title":"交换模型数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'done', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '交换模型版本号'}, 'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, 'title': '交换模型数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Action match with '['add', 'create', 'new', '添加', '新建', '创建']'? True
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Method match with 'POST'? True (Endpoint method: POST)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据添加': Checking req_params for path ID: [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - SUCCESS: Op match for actions '['add', 'create', 'new', '添加', '新建', '创建']': Key='地质单元数据添加', MatchedText='地质单元数据添加', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['list', 'query', 'search', 'getall', 'getlist', '列表查询', '查询列表', '获取列表', '分页查询']', target_method='None', path_id_required=False, path_id_forbidden=True
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元列表查询', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元列表查询': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135751, 'method': 'POST', 'title': '地质单元列表查询', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736910, 'up_time': 1745737050, '__v': 0}, 'title': '地质单元列表查询', 'desc': '', '_id': 135751, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Action match with '['list', 'query', 'search', 'getall', 'getlist', '列表查询', '查询列表', '获取列表', '分页查询']'? True
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Method match with 'None'? True (Endpoint method: POST)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元列表查询': Checking req_params for path ID: [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_condition_met=True (required=False, forbidden=True)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - SUCCESS: Op match for actions '['list', 'query', 'search', 'getall', 'getlist', '列表查询', '查询列表', '获取列表', '分页查询']': Key='地质单元列表查询', MatchedText='地质单元列表查询', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']', target_method='GET', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元列表查询', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元列表查询': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135751, 'method': 'POST', 'title': '地质单元列表查询', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736910, 'up_time': 1745737050, '__v': 0}, 'title': '地质单元列表查询', 'desc': '', '_id': 135751, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Action match with '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']'? False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Method match with 'GET'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元列表查询': Checking req_params for path ID: [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元列表查询' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据修改', Method='PUT', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据修改': {'method': 'PUT', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135749, 'method': 'PUT', 'title': '地质单元数据修改', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736976, '__v': 0}, 'title': '地质单元数据修改', 'desc': '', '_id': 135749, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'id': {'type': 'string', 'required': True}, 'version': {'type': 'string'}}, 'required': ['id', 'version']}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Action match with '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']'? False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Method match with 'GET'? False (Endpoint method: PUT)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据修改': Checking req_params for path ID: [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据修改' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据删除', Method='DELETE', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据删除': {'method': 'DELETE', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135750, 'method': 'DELETE', 'title': '地质单元数据删除', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736908, 'up_time': 1745736987, '__v': 0}, 'title': '地质单元数据删除', 'desc': '', '_id': 135750, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '版本号'}, 'data': {'type': 'array', 'items': {'type': 'string'}, 'title': '主键id数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Action match with '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']'? False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Method match with 'GET'? False (Endpoint method: DELETE)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据删除': Checking req_params for path ID: [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据删除' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据添加', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据添加': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'done', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135748, 'method': 'POST', 'title': '地质单元数据添加', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd4ff335acfc5c7926ceb', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd4ff335acff16f926cea', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd4ff335acf1a5c926ce9', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"交换模型版本号"},"data":{"type":"array","items":{"type":"object","properties":{"bsflag":{"type":"number","title":"必填字段删除标记"},"wellCommonName":{"type":"string"},"wellId":{"type":"string"},"dataRegion":{"type":"string"}},"required":["bsflag","wellCommonName","wellId","dataRegion"]},"title":"交换模型数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736959, '__v': 0}, 'title': '地质单元数据添加', 'desc': '', '_id': 135748, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '680dd4ff335acfc5c7926ceb', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd4ff335acff16f926cea', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd4ff335acf1a5c926ce9', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"交换模型版本号"},"data":{"type":"array","items":{"type":"object","properties":{"bsflag":{"type":"number","title":"必填字段删除标记"},"wellCommonName":{"type":"string"},"wellId":{"type":"string"},"dataRegion":{"type":"string"}},"required":["bsflag","wellCommonName","wellId","dataRegion"]},"title":"交换模型数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'done', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '交换模型版本号'}, 'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, 'title': '交换模型数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Action match with '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']'? False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Method match with 'GET'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据添加': Checking req_params for path ID: [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据添加' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元查询详情', Method='GET', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元查询详情': {'method': 'GET', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', 'params': []}, 'edit_uid': 0, 'status': 'done', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135752, 'method': 'GET', 'title': '地质单元查询详情', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', 'req_params': [{'_id': '680dd53d335acf42db926d05', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd53d335acf2105926d04', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}, {'_id': '680dd53d335acf7970926d03', 'name': 'id', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd53d335acf68e4926d08', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd53d335acf9fb4926d07', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd53d335acf7a8d926d06', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736911, 'up_time': 1745737021, '__v': 0}, 'title': '地质单元查询详情', 'desc': '', '_id': 135752, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd53d335acf42db926d05', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd53d335acf2105926d04', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}, {'_id': '680dd53d335acf7970926d03', 'name': 'id', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '680dd53d335acf68e4926d08', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd53d335acf9fb4926d07', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd53d335acf7a8d926d06', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'done', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Action match with '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']'? True
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Method match with 'GET'? True (Endpoint method: GET)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元查询详情': Checking req_params for path ID: [{'_id': '680dd53d335acf42db926d05', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd53d335acf2105926d04', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}, {'_id': '680dd53d335acf7970926d03', 'name': 'id', 'desc': ''}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Found ID path parameter in YAPI req_params: 'id'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Calculated path_contains_id_param=True (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Calculated path_condition_met=True (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - SUCCESS: Op match for actions '['detail', 'getbyid', 'getone', '查询详情', '获取详情', '根据ID获取']': Key='地质单元查询详情', MatchedText='地质单元查询详情', Method='GET', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['update', 'edit', 'put', '修改', '更新']', target_method='PUT', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元列表查询', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元列表查询': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135751, 'method': 'POST', 'title': '地质单元列表查询', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736910, 'up_time': 1745737050, '__v': 0}, 'title': '地质单元列表查询', 'desc': '', '_id': 135751, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Action match with '['update', 'edit', 'put', '修改', '更新']'? False
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Method match with 'PUT'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元列表查询': Checking req_params for path ID: [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元列表查询' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据修改', Method='PUT', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据修改': {'method': 'PUT', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135749, 'method': 'PUT', 'title': '地质单元数据修改', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736976, '__v': 0}, 'title': '地质单元数据修改', 'desc': '', '_id': 135749, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'id': {'type': 'string', 'required': True}, 'version': {'type': 'string'}}, 'required': ['id', 'version']}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Action match with '['update', 'edit', 'put', '修改', '更新']'? True
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Method match with 'PUT'? True (Endpoint method: PUT)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据修改': Checking req_params for path ID: [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据修改' (Action: True, Method: True, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据删除', Method='DELETE', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据删除': {'method': 'DELETE', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135750, 'method': 'DELETE', 'title': '地质单元数据删除', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736908, 'up_time': 1745736987, '__v': 0}, 'title': '地质单元数据删除', 'desc': '', '_id': 135750, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '版本号'}, 'data': {'type': 'array', 'items': {'type': 'string'}, 'title': '主键id数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,445 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Action match with '['update', 'edit', 'put', '修改', '更新']'? False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Method match with 'PUT'? False (Endpoint method: DELETE)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据删除': Checking req_params for path ID: [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据删除' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据添加', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据添加': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'done', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135748, 'method': 'POST', 'title': '地质单元数据添加', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd4ff335acfc5c7926ceb', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd4ff335acff16f926cea', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd4ff335acf1a5c926ce9', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"交换模型版本号"},"data":{"type":"array","items":{"type":"object","properties":{"bsflag":{"type":"number","title":"必填字段删除标记"},"wellCommonName":{"type":"string"},"wellId":{"type":"string"},"dataRegion":{"type":"string"}},"required":["bsflag","wellCommonName","wellId","dataRegion"]},"title":"交换模型数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736959, '__v': 0}, 'title': '地质单元数据添加', 'desc': '', '_id': 135748, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '680dd4ff335acfc5c7926ceb', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd4ff335acff16f926cea', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd4ff335acf1a5c926ce9', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"交换模型版本号"},"data":{"type":"array","items":{"type":"object","properties":{"bsflag":{"type":"number","title":"必填字段删除标记"},"wellCommonName":{"type":"string"},"wellId":{"type":"string"},"dataRegion":{"type":"string"}},"required":["bsflag","wellCommonName","wellId","dataRegion"]},"title":"交换模型数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'done', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '交换模型版本号'}, 'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, 'title': '交换模型数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Action match with '['update', 'edit', 'put', '修改', '更新']'? False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Method match with 'PUT'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据添加': Checking req_params for path ID: [{'_id': '680dd4ff335acf81b3926ce8', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据添加': Calculated path_condition_met=False (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据添加' (Action: False, Method: False, PathCond: False). Continuing search.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元查询详情', Method='GET', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元查询详情': {'method': 'GET', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', 'params': []}, 'edit_uid': 0, 'status': 'done', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135752, 'method': 'GET', 'title': '地质单元查询详情', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}', 'req_params': [{'_id': '680dd53d335acf42db926d05', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd53d335acf2105926d04', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}, {'_id': '680dd53d335acf7970926d03', 'name': 'id', 'desc': ''}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd53d335acf68e4926d08', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd53d335acf9fb4926d07', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd53d335acf7a8d926d06', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736911, 'up_time': 1745737021, '__v': 0}, 'title': '地质单元查询详情', 'desc': '', '_id': 135752, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd53d335acf42db926d05', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd53d335acf2105926d04', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}, {'_id': '680dd53d335acf7970926d03', 'name': 'id', 'desc': ''}], 'req_query': [], 'req_headers': [{'required': '1', '_id': '680dd53d335acf68e4926d08', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd53d335acf9fb4926d07', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd53d335acf7a8d926d06', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'done', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Action match with '['update', 'edit', 'put', '修改', '更新']'? False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Method match with 'PUT'? False (Endpoint method: GET)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元查询详情': Checking req_params for path ID: [{'_id': '680dd53d335acf42db926d05', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd53d335acf2105926d04', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}, {'_id': '680dd53d335acf7970926d03', 'name': 'id', 'desc': ''}]
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Found ID path parameter in YAPI req_params: 'id'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Calculated path_contains_id_param=True (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元查询详情': Calculated path_condition_met=True (required=True, forbidden=False)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元查询详情' (Action: False, Method: False, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - WARNING - FAILURE: No operation found after checking all endpoints for: actions='['update', 'edit', 'put', '修改', '更新']', method='PUT', path_id_required=True, path_id_forbidden=False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Attempting to find operation: target_actions='['delete', 'remove', '删除']', target_method='DELETE', path_id_required=False, path_id_forbidden=False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元列表查询', Method='POST', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元列表查询': {'method': 'POST', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135751, 'method': 'POST', 'title': '地质单元列表查询', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}', 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736910, 'up_time': 1745737050, '__v': 0}, 'title': '地质单元列表查询', 'desc': '', '_id': 135751, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}], 'req_query': [{'required': '0', '_id': '680dd55a335acfabfa926d1a', 'name': 'pageNo', 'desc': '页码(从1开始)'}, {'required': '0', '_id': '680dd55a335acf831b926d19', 'name': 'pageSize', 'desc': '分页大小(最大值200)'}], 'req_headers': [{'required': '1', '_id': '680dd55a335acfb51b926d1d', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd55a335acf6226926d1c', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd55a335acf39a0926d1b', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"properties":{"isSearchCount":{"default":true,"description":"是否统计总条数","type":"boolean"},"query":{"description":"查询条件","properties":{"dataRegions":{"description":"数据域,如:JD、DG、TL","items":{"description":"数据域,如:JD、DG、TL","type":"string"},"type":"array"},"fields":{"description":"查询的字段","items":{"description":"查询的字段","type":"string"},"type":"array"},"filter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"groupFields":{"description":"分组字段group by","items":{"description":"分组字段group by","type":"string"},"type":"array"},"groupFilter":{"description":"筛选器","properties":{"key":{"description":"条件项","type":"string"},"logic":{"description":"逻辑操作符,可选值为:AND、OR","type":"string"},"realValue":{"description":"条件值","items":{"description":"条件值","type":"object","properties":{}},"type":"array"},"singleValue":{"type":"object","writeOnly":true,"properties":{}},"subFilter":{"description":"子条件","items":{"$ref":"#/components/schemas/FilterVO","type":"string"},"type":"array"},"symbol":{"description":"运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL","type":"string"}},"type":"object","$$ref":"#/components/schemas/FilterVO"},"sort":{"additionalProperties":{"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"string"},"description":"排序字段,key=字段名,value=排序方式(ASC、DESC)","type":"object","properties":{}}},"type":"object","$$ref":"#/components/schemas/QueryVO"}},"type":"object","$$ref":"#/components/schemas/RdbQueryPageInput"}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"total":{"type":"number"},"list":{"type":"array","items":{"type":"object","properties":{"dsid":{"type":"string"},"dataRegion":{"type":"string"},"gasReleaseMon":{"type":"null"},"gasReleaseYear":{"type":"null"},"releaseGasCum":{"type":"null"}}}}}}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'properties': {'isSearchCount': {'default': True, 'description': '是否统计总条数', 'type': 'boolean'}, 'query': {'description': '查询条件', 'properties': {'dataRegions': {'description': '数据域,如:JD、DG、TL', 'items': {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, 'type': 'array'}, 'fields': {'description': '查询的字段', 'items': {'description': '查询的字段', 'type': 'string'}, 'type': 'array'}, 'filter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'groupFields': {'description': '分组字段group by', 'items': {'description': '分组字段group by', 'type': 'string'}, 'type': 'array'}, 'groupFilter': {'description': '筛选器', 'properties': {'key': {'description': '条件项', 'type': 'string'}, 'logic': {'description': '逻辑操作符,可选值为:AND、OR', 'type': 'string'}, 'realValue': {'description': '条件值', 'items': {'description': '条件值', 'type': 'object', 'properties': {}}, 'type': 'array'}, 'singleValue': {'type': 'object', 'writeOnly': True, 'properties': {}}, 'subFilter': {'description': '子条件', 'items': {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, 'type': 'array'}, 'symbol': {'description': '运算符,可选值为:>、>=、<、<=、>、<、=、<>、!=、IN、NOTIN、LIKE、IS;当运算符为 IS 时,条件值只能为NULL或NOT NULL', 'type': 'string'}}, 'type': 'object', '$$ref': '#/components/schemas/FilterVO'}, 'sort': {'additionalProperties': {'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'string'}, 'description': '排序字段,key=字段名,value=排序方式(ASC、DESC)', 'type': 'object', 'properties': {}}}, 'type': 'object', '$$ref': '#/components/schemas/QueryVO'}}, 'type': 'object', '$$ref': '#/components/schemas/RdbQueryPageInput'}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'object', 'properties': {'total': {'type': 'number'}, 'list': {'type': 'array', 'items': {'type': 'object', 'properties': {'dsid': {'type': 'string'}, 'dataRegion': {'type': 'string'}, 'gasReleaseMon': {'type': 'null'}, 'gasReleaseYear': {'type': 'null'}, 'releaseGasCum': {'type': 'null'}}}}}}}}}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Action match with '['delete', 'remove', '删除']'? False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Method match with 'DELETE'? False (Endpoint method: POST)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元列表查询': Checking req_params for path ID: [{'_id': '680dd55a335acff12e926d18', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}, {'_id': '680dd55a335acfc43d926d17', 'name': 'version', 'example': '1.0.0', 'desc': '交换模型版本'}]
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元列表查询': Calculated path_condition_met=True (required=False, forbidden=False)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元列表查询' (Action: False, Method: False, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据修改', Method='PUT', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据修改': {'method': 'PUT', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135749, 'method': 'PUT', 'title': '地质单元数据修改', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736907, 'up_time': 1745736976, '__v': 0}, 'title': '地质单元数据修改', 'desc': '', '_id': 135749, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd510335acf1ed1926ced', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd510335acf7bb3926cf0', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd510335acf6953926cef', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd510335acfd86b926cee', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"id":{"type":"string","required":true},"version":{"type":"string"}},"required":["id","version"]}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'id': {'type': 'string', 'required': True}, 'version': {'type': 'string'}}, 'required': ['id', 'version']}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Action match with '['delete', 'remove', '删除']'? False
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Method match with 'DELETE'? False (Endpoint method: PUT)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据修改': Checking req_params for path ID: [{'_id': '680dd510335acf19c3926cec', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据修改': Calculated path_condition_met=True (required=False, forbidden=False)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Criteria NOT met for '地质单元数据修改' (Action: False, Method: False, PathCond: True). Continuing search.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Checking endpoint: Title='地质单元数据删除', Method='DELETE', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit', Type='YAPIEndpoint'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Raw YAPIEndpoint object attributes for '地质单元数据删除': {'method': 'DELETE', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', '_raw_data': {'query_path': {'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'params': []}, 'edit_uid': 0, 'status': 'undone', 'type': 'var', 'req_body_is_json_schema': True, 'res_body_is_json_schema': True, 'api_opened': False, 'index': 0, 'tag': [], '_id': 135750, 'method': 'DELETE', 'title': '地质单元数据删除', 'desc': '', 'path': '/api/dms/{dms_instance_code}/v1/cd_geo_unit', 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_body_form': [], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_body_type': 'json', 'res_body_type': 'json', 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'project_id': 1193, 'catid': 18705, 'markdown': '', 'uid': 1103, 'add_time': 1745736908, 'up_time': 1745736987, '__v': 0}, 'title': '地质单元数据删除', 'desc': '', '_id': 135750, 'project_id': 1193, 'catid': 18705, 'req_params': [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}], 'req_query': [{'required': '1', '_id': '680dd51b335acf7441926cf2', 'name': 'id', 'example': 'dsid', 'desc': '主键id的key'}], 'req_headers': [{'required': '1', '_id': '680dd51b335acfb316926cf5', 'name': 'Content-Type', 'value': 'application/json'}, {'required': '1', '_id': '680dd51b335acf45f4926cf4', 'name': 'tenant-id', 'desc': 'tenant-id (Only:undefined)'}, {'required': '1', '_id': '680dd51b335acf0cfa926cf3', 'name': 'Authorization', 'desc': 'Authorization (Only:undefined)'}], 'req_body_form': [], 'req_body_type': 'json', 'req_body_is_json_schema': True, 'req_body_other': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"version":{"type":"string","title":"版本号"},"data":{"type":"array","items":{"type":"string"},"title":"主键id数据集"}}}', 'res_body_type': 'json', 'res_body_is_json_schema': True, 'res_body': '{"$schema":"http://json-schema.org/draft-04/schema#","type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"boolean"}}}', 'status': 'undone', 'api_opened': False, 'uid': 1103, 'category_name': '地质单元', 'category_id': 18705, '_parsed_req_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'version': {'type': 'string', 'title': '版本号'}, 'data': {'type': 'array', 'items': {'type': 'string'}, 'title': '主键id数据集'}}}, '_parsed_res_body_schema': {'$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'code': {'type': 'number'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Action match with '['delete', 'remove', '删除']'? True
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Method match with 'DELETE'? True (Endpoint method: DELETE)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For YAPI Endpoint '地质单元数据删除': Checking req_params for path ID: [{'_id': '680dd51b335acfe93a926cf1', 'name': 'dms_instance_code', 'desc': '注册实例code\n井筒中心 well_kd_wellbore_ideas01'}]
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_contains_id_param=False (cfg_path_param_name_for_id='id')
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - For '地质单元数据删除': Calculated path_condition_met=True (required=False, forbidden=False)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - SUCCESS: Op match for actions '['delete', 'remove', '删除']': Key='地质单元数据删除', MatchedText='地质单元数据删除', Method='DELETE', Path='/api/dms/{dms_instance_code}/v1/cd_geo_unit'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - 'Generic CRUD Validation Stage' is APPLICABLE for group '地质单元'. Required CRUD operations found. Discovered keys: {'create': '地质单元数据添加', 'list': '地质单元列表查询', 'detail': '地质单元查询详情', 'update': None, 'delete': '地质单元数据删除'}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'generic_crud_validation_stage' 适用于API分组 '地质单元'。开始执行...
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试阶段: ID='generic_crud_validation_stage', Name='Generic CRUD Validation Stage', API分组='地质单元'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - 调用 stage 'generic_crud_validation_stage' 的 before_stage 钩子。初始上下文: {}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Using default field/path configurations for group '地质单元'. Customize by overriding _determine_resource_config or cfg_* attributes.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Starting stage 'Generic CRUD Validation Stage' for API group '地质单元'. Discovered op keys: {'create': '地质单元数据添加', 'list': '地质单元列表查询', 'detail': '地质单元查询详情', 'update': None, 'delete': '地质单元数据删除'}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Initial stage context (with cfg): {'unique_resource_name': 'TestResource_1750070194_ff0a3f', 'updated_resource_name': 'TestResource_1750070194_ff0a3f_UPDATED', 'unique_feature_value': 'Feature_1750070194', 'updated_feature_value': 'Feature_1750070194_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'}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 开始执行.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 调用 before_step 钩子. 上下文: {'unique_resource_name': 'TestResource_1750070194_ff0a3f', 'updated_resource_name': 'TestResource_1750070194_ff0a3f_UPDATED', 'unique_feature_value': 'Feature_1750070194', 'updated_feature_value': 'Feature_1750070194_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'}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Executing before_step for step 'Create New Resource' in stage 'generic_crud_validation_stage'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 查找端点定义. Key='地质单元数据添加', Group='地质单元'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - 'generic_crud_validation_stage': 正在从 global_api_spec 中查找操作,键: '地质单元数据添加', API组: '地质单元'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - 'generic_crud_validation_stage': 找到匹配操作 '地质单元数据添加' -> Method: POST, Path: /api/dms/{dms_instance_code}/v1/cd_geo_unit
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 已解析端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit'. 准备请求数据.
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'dms_instance_code': 'example_dms_instance_code'}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748': application/json
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body). Properties: ['version', 'data']
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.version): example_string
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data). Items schema: {'type': 'object', 'properties': {'bsflag': {'type': 'number', 'title': '必填字段删除标记'}, 'wellCommonName': {'type': 'string'}, 'wellId': {'type': 'string'}, 'dataRegion': {'type': 'string'}}, 'required': ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']}, minItems: 1
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0]). Properties: ['bsflag', 'wellCommonName', 'wellId', 'dataRegion']
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 number/integer 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].bsflag): 0.0
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellCommonName): example_string
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].wellId): example_string
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_135748] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_135748_body.data[0].dataRegion): example_string
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_135748' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 应用请求覆盖: {'path_params': {'dms_instance_code': '{{stage_context.dms_instance_code}}'}, 'headers': {'tenant-id': 'your-tenant-id', 'Authorization': 'Bearer your-test-token'}, 'body': {'version': '{{stage_context.api_version}}', 'data': [{'wellCommonName': '{{stage_context.unique_resource_name}}', 'dataRegion': '{{stage_context.unique_feature_value}}'}]}}
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'Create New Resource'] 解析上下文路径: 'dms_instance_code' 来自模板 '{{stage_context.dms_instance_code}}'
|
||
2025-06-16 18:36:34,446 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'Create New Resource'] 从上下文解析到值 'your_dms_instance_code...' (路径: 'dms_instance_code')
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'Create New Resource'] 解析上下文路径: 'api_version' 来自模板 '{{stage_context.api_version}}'
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'Create New Resource'] 从上下文解析到值 '1.0.0...' (路径: 'api_version')
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'Create New Resource'] 解析上下文路径: 'unique_resource_name' 来自模板 '{{stage_context.unique_resource_name}}'
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'Create New Resource'] 从上下文解析到值 'TestResource_1750070194_ff0a3f...' (路径: 'unique_resource_name')
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'Create New Resource'] 解析上下文路径: 'unique_feature_value' 来自模板 '{{stage_context.unique_feature_value}}'
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'Create New Resource'] 从上下文解析到值 'Feature_1750070194...' (路径: 'unique_feature_value')
|
||
2025-06-16 18:36:34,447 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 发送API请求: POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 收到响应. Status: 200. 验证中...
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 提取输出到上下文. Map: {'created_resource_id': 'data.0.dsid'}
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [Create New Resource] 尝试提取 'data.0.dsid' 到上下文变量 'created_resource_id'
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - WARNING - [Create New Resource] 未知的提取源类型 'data' in path 'data.0.dsid'
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 调用 after_step 钩子.
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Executing after_step for step 'Create New Resource' in stage 'generic_crud_validation_stage'
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'Create New Resource': 执行完毕. 状态: 通过, 耗时: 0.02s
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 开始执行.
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 调用 before_step 钩子. 上下文: {'unique_resource_name': 'TestResource_1750070194_ff0a3f', 'updated_resource_name': 'TestResource_1750070194_ff0a3f_UPDATED', 'unique_feature_value': 'Feature_1750070194', 'updated_feature_value': 'Feature_1750070194_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'}
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Executing before_step for step 'List and Find Created Resource' in stage 'generic_crud_validation_stage'
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 查找端点定义. Key='地质单元列表查询', Group='地质单元'
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - 'generic_crud_validation_stage': 正在从 global_api_spec 中查找操作,键: '地质单元列表查询', API组: '地质单元'
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - 'generic_crud_validation_stage': 找到匹配操作 '地质单元列表查询' -> Method: POST, Path: /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 已解析端点 'POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}'. 准备请求数据.
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'dms_instance_code': 'example_dms_instance_code', 'version': '1.0.0'}
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial query param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'pageNo': 'query_val_pageNo', 'pageSize': 'query_val_pageSize'}
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial custom header param for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': {'tenant-id': 'header_val_tenant-id'}
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751': application/json
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body). Properties: ['isSearchCount', 'query']
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 使用 schema 中的 'default' 值 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.isSearchCount): True
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query). Properties: ['dataRegions', 'fields', 'filter', 'groupFields', 'groupFilter', 'sort']
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions). Items schema: {'description': '数据域,如:JD、DG、TL', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.dataRegions[0]): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields). Items schema: {'description': '查询的字段', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.fields[0]): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.key): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.logic): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter). Items schema: {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.filter.symbol): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields). Items schema: {'description': '分组字段group by', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFields[0]): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter). Properties: ['key', 'logic', 'realValue', 'singleValue', 'subFilter', 'symbol']
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.key): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.logic): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue). Items schema: {'description': '条件值', 'type': 'object', 'properties': {}}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.realValue[0]). Properties: []
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.singleValue). Properties: []
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 array 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter). Items schema: {'$ref': '#/components/schemas/FilterVO', 'type': 'string'}, minItems: 1
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.subFilter[0]): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 string 类型数据 ('') for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.groupFilter.symbol): example_string
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - [post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751] 生成 object 类型数据 for (context: post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751_body.query.sort). Properties: []
|
||
2025-06-16 18:36:34,462 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'post__api_dms_dms_instance_code_v1_cd_geo_unit_version_135751' (type: <class 'dict'>)
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 应用请求覆盖: {'path_params': {'dms_instance_code': '{{stage_context.dms_instance_code}}', 'version': '{{stage_context.api_version}}'}, 'headers': {'tenant-id': 'your-tenant-id', 'Authorization': 'Bearer your-test-token'}, 'query_params': {'pageNo': 1, 'pageSize': 10}, 'body': {'isSearchCount': True, 'query': {'fields': ['dsid', 'wellCommonName', 'dataRegion'], 'filter': {'key': 'wellCommonName', 'symbol': '=', 'realValue': ['{{stage_context.unique_resource_name}}']}}}}
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'List and Find Created Resource'] 解析上下文路径: 'dms_instance_code' 来自模板 '{{stage_context.dms_instance_code}}'
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'List and Find Created Resource'] 从上下文解析到值 'your_dms_instance_code...' (路径: 'dms_instance_code')
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'List and Find Created Resource'] 解析上下文路径: 'api_version' 来自模板 '{{stage_context.api_version}}'
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'List and Find Created Resource'] 从上下文解析到值 '1.0.0...' (路径: 'api_version')
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'List and Find Created Resource'] 解析上下文路径: 'unique_resource_name' 来自模板 '{{stage_context.unique_resource_name}}'
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'List and Find Created Resource'] 从上下文解析到值 'TestResource_1750070194_ff0a3f...' (路径: 'unique_resource_name')
|
||
2025-06-16 18:36:34,463 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 发送API请求: POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 收到响应. Status: 200. 验证中...
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 执行断言 'find_resource_in_list_and_extract_id'
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 断言 'find_resource_in_list_and_extract_id' 失败: Resource not found: Name 'TestResource_1750070194_ff0a3f' (field: wellCommonName) not found in list at path 'data.list'.
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 提取输出到上下文. Map: {'found_id_from_list': 'data.list.0.dsid'}
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - DEBUG - [List and Find Created Resource] 尝试提取 'data.list.0.dsid' 到上下文变量 'found_id_from_list'
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - WARNING - [List and Find Created Resource] 未知的提取源类型 'data' in path 'data.list.0.dsid'
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 调用 after_step 钩子.
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - DEBUG - Executing after_step for step 'List and Find Created Resource' in stage 'generic_crud_validation_stage'
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 执行完毕. 状态: 失败, 耗时: 0.01s
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'generic_crud_validation_stage', Step 'List and Find Created Resource': 状态为 失败 且 continue_on_failure=False. 中止测试阶段 'generic_crud_validation_stage'.
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - DEBUG - 调用 stage 'generic_crud_validation_stage' 的 after_stage 钩子. 当前阶段结果状态: 失败
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.stage_framework.GenericCRUDValidationStage - INFO - Finished stage 'Generic CRUD Validation Stage'. API Group: '地质单元'. Final Status: Status.FAILED. Final Context Keys: ['unique_resource_name', 'updated_resource_name', 'unique_feature_value', 'updated_feature_value', 'cfg_list_path_in_listresponse', 'cfg_name_field_in_listitem', 'cfg_id_field_in_listitem', 'cfg_resource_object_path_in_detailresponse', 'cfg_name_field_in_detailresponse', 'cfg_id_field_in_detailresponse', 'cfg_resource_object_path_in_updateresponse', 'cfg_feature_field_name_for_validation', 'dms_instance_code', 'api_version']
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'generic_crud_validation_stage' (API分组: '地质单元') 执行完毕. 最终状态: 失败, 耗时: 0.03s
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - INFO - API Test Stage execution processed. Considered 2 (stage_definition x api_group) combinations.
|
||
2025-06-16 18:36:34,476 - __main__ - INFO - API测试阶段 (Stages) 执行完毕。
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - INFO - -------------------- API Test Summary --------------------
|
||
2025-06-16 18:36:34,476 - ddms_compliance_suite.test_orchestrator - INFO - Start Time: 2025-06-16T18:36:01.309510
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - End Time: 2025-06-16T18:36:34.476981
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Total Duration: 33.17 seconds
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - --- Endpoints ---
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Total Endpoints Defined: 6
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Endpoints Tested: 6
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Passed: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Failed: 6
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Error: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Skipped: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Partial Success: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Success Rate: 0.00%
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - --- Test Cases ---
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Total Test Cases Applicable: 108
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Total Test Cases Executed: 108
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Passed: 79
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Failed: 29
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Error: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Skipped (within endpoints): 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Success Rate: 73.15%
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - --- Stages ---
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Total Stages Defined: 1
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Total Stages Executed: 1
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Passed: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Failed: 1
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Error: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Skipped: 0
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - Success Rate: 0.00%
|
||
2025-06-16 18:36:34,477 - ddms_compliance_suite.test_orchestrator - INFO - --------------------------------------------------------
|
||
2025-06-16 18:36:34,479 - __main__ - INFO - 测试结果已保存为JSON: test_reports/summary.json
|
||
2025-06-16 18:36:34,479 - __main__ - INFO - API调用详情将以 Markdown 格式保存到目录 'test_reports' (使用默认文件名 'api_call_details.md')
|
||
2025-06-16 18:36:34,484 - __main__ - INFO - API调用详情已保存为 Markdown: test_reports/api_call_details.md
|
||
2025-06-16 18:36:34,484 - __main__ - INFO - 部分测试失败或出错,请检查报告。
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 482\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "invalid_enum_zi0ifg", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 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
|
||
DEBUG: curlify generated command (repr): 'curl -X GET -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: header_val_tenant-id\' -H \'Content-Type: application/json\' -H \'Content-Length: 477\' -d \'{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}\' --insecure 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'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: your-tenant-id' -H 'Content-Type: application/json' -H 'Authorization: Bearer your-test-token' -H 'Content-Length: 120' -d '{"version": "1.0.0", "data": [{"wellCommonName": "TestResource_1750070194_ff0a3f", "dataRegion": "Feature_1750070194"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: your-tenant-id\' -H \'Content-Type: application/json\' -H \'Authorization: Bearer your-test-token\' -H \'Content-Length: 120\' -d \'{"version": "1.0.0", "data": [{"wellCommonName": "TestResource_1750070194_ff0a3f", "dataRegion": "Feature_1750070194"}]}\' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit'
|
||
DEBUG: curlify generated command (raw): curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: your-tenant-id' -H 'Content-Type: application/json' -H 'Authorization: Bearer your-test-token' -H 'Content-Length: 187' -d '{"isSearchCount": true, "query": {"fields": ["dsid", "wellCommonName", "dataRegion"], "filter": {"key": "wellCommonName", "symbol": "=", "realValue": ["TestResource_1750070194_ff0a3f"]}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=1&pageSize=10'
|
||
DEBUG: curlify generated command (repr): 'curl -H \'User-Agent: python-requests/2.32.3\' -H \'Accept-Encoding: gzip, deflate, br, zstd\' -H \'Accept: application/json\' -H \'Connection: keep-alive\' -H \'tenant-id: your-tenant-id\' -H \'Content-Type: application/json\' -H \'Authorization: Bearer your-test-token\' -H \'Content-Length: 187\' -d \'{"isSearchCount": true, "query": {"fields": ["dsid", "wellCommonName", "dataRegion"], "filter": {"key": "wellCommonName", "symbol": "=", "realValue": ["TestResource_1750070194_ff0a3f"]}}}\' --insecure \'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=1&pageSize=10\''
|