5390 lines
1.1 MiB
5390 lines
1.1 MiB
2025-07-11 18:57:44,869 - __main__ - DEBUG - 已启用详细日志模式
|
||
2025-07-11 18:57:44,869 - __main__ - INFO - 测试报告将保存到: /Users/zpc01/workspace/zzlh/compliance/test_reports/2025-07-11_18-57-44
|
||
2025-07-11 18:57:44,869 - ddms_compliance_suite.test_case_registry - INFO - Discovering custom test cases from: ./custom_testcases
|
||
2025-07-11 18:57:44,870 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: security_checks 从 ./custom_testcases/security_checks.py
|
||
2025-07-11 18:57:44,870 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-SECURITY-002' (敏感字段加密检查) 来自类 'EncryptedFieldsCheck' (路径: ./custom_testcases/security_checks.py)
|
||
2025-07-11 18:57:44,870 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: basic_checks 从 ./custom_testcases/basic_checks.py
|
||
2025-07-11 18:57:44,870 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-STATUS-001' (基本状态码 200 检查) 来自类 'StatusCode200Check' (路径: ./custom_testcases/basic_checks.py)
|
||
2025-07-11 18:57:44,870 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_llm_compliance_check 从 ./custom_testcases/llm/tc_llm_compliance_check.py
|
||
2025-07-11 18:57:44,870 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) 来自类 'LLMComplianceCheckTestCase' (路径: ./custom_testcases/llm/tc_llm_compliance_check.py)
|
||
2025-07-11 18:57:44,871 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: required_headers_check 从 ./custom_testcases/setup_checks/required_headers_check.py
|
||
2025-07-11 18:57:44,871 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-HEADER-001' (必需请求头Schema验证) 来自类 'RequiredHeadersSchemaCheck' (路径: ./custom_testcases/setup_checks/required_headers_check.py)
|
||
2025-07-11 18:57:44,871 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_response_schema_format_001 从 ./custom_testcases/井筒/DMS增加核心存储服务API/tc_response_schema_format_001.py
|
||
2025-07-11 18:57:44,871 - 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-07-11 18:57:44,872 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_url_version_check_001 从 ./custom_testcases/井筒/DMS增加核心存储服务API/tc_url_version_check_001.py
|
||
2025-07-11 18:57:44,872 - 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-07-11 18:57:44,872 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_pagination_params_check 从 ./custom_testcases/井筒/开发指南-后端/tc_pagination_params_check.py
|
||
2025-07-11 18:57:44,872 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-DMS-PAGINATION-001' (分页参数检查) 来自类 'PaginationParamsCheckTestCase' (路径: ./custom_testcases/井筒/开发指南-后端/tc_pagination_params_check.py)
|
||
2025-07-11 18:57:44,873 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_002 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_002.py
|
||
2025-07-11 18:57:44,873 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-002' (资源路径名词检查) 来自类 'ResourcePathNounCheckTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_002.py)
|
||
2025-07-11 18:57:44,873 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_003 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_003.py
|
||
2025-07-11 18:57:44,873 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-003' (时间字段ISO 8601格式检查) 来自类 'TimeFormatCheckTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_003.py)
|
||
2025-07-11 18:57:44,873 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_combined_001 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_combined_001.py
|
||
2025-07-11 18:57:44,873 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-001' (核心命名与结构规范检查) 来自类 'CoreNamingStructureTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_combined_001.py)
|
||
2025-07-11 18:57:44,874 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: tc_normative_004 从 ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_004.py
|
||
2025-07-11 18:57:44,874 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-RESTful-004' (资源集合复数命名检查) 来自类 'ResourceCollectionPluralCheckTestCase' (路径: ./custom_testcases/井筒/RESTful接口设计要求/tc_normative_004.py)
|
||
2025-07-11 18:57:44,874 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: https_mandatory_case 从 ./custom_testcases/compliance_catalog/security/https_mandatory_case.py
|
||
2025-07-11 18:57:44,874 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-SECURITY-001' (HTTPS 协议强制性检查) 来自类 'HTTPSMandatoryCase' (路径: ./custom_testcases/compliance_catalog/security/https_mandatory_case.py)
|
||
2025-07-11 18:57:44,874 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: url_llm_checks 从 ./custom_testcases/compliance_catalog/normative_spec/url_llm_checks.py
|
||
2025-07-11 18:57:44,874 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: http_method_usage_case 从 ./custom_testcases/compliance_catalog/normative_spec/http_method_usage_case.py
|
||
2025-07-11 18:57:44,875 - 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-07-11 18:57:44,875 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) 来自类 'MissingRequiredFieldQueryCase' (路径: ./custom_testcases/compliance_catalog/error_handling/missing_required_field_query_case.py)
|
||
2025-07-11 18:57:44,875 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: invalid_enum_value_case 从 ./custom_testcases/compliance_catalog/error_handling/invalid_enum_value_case.py
|
||
2025-07-11 18:57:44,875 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4006' (非法枚举值检查) 来自类 'InvalidEnumValueCase' (路径: ./custom_testcases/compliance_catalog/error_handling/invalid_enum_value_case.py)
|
||
2025-07-11 18:57:44,875 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: type_mismatch_body_case 从 ./custom_testcases/compliance_catalog/error_handling/type_mismatch_body_case.py
|
||
2025-07-11 18:57:44,875 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) 来自类 'TypeMismatchBodyCase' (路径: ./custom_testcases/compliance_catalog/error_handling/type_mismatch_body_case.py)
|
||
2025-07-11 18:57:44,876 - 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-07-11 18:57:44,876 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) 来自类 'MissingRequiredFieldBodyCase' (路径: ./custom_testcases/compliance_catalog/error_handling/missing_required_field_body_case.py)
|
||
2025-07-11 18:57:44,876 - 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-07-11 18:57:44,876 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) 来自类 'TypeMismatchQueryParamCase' (路径: ./custom_testcases/compliance_catalog/error_handling/type_mismatch_query_param_case.py)
|
||
2025-07-11 18:57:44,876 - 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-07-11 18:57:44,876 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-ERROR-4002' (数值参数越界检查) 来自类 'NumberOutOfRangeCase' (路径: ./custom_testcases/compliance_catalog/error_handling/number_out_of_range_case.py)
|
||
2025-07-11 18:57:44,877 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: schema_validation_case 从 ./custom_testcases/compliance_catalog/core_functionality/schema_validation_case.py
|
||
2025-07-11 18:57:44,877 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-CORE-FUNC-001' (返回体JSON Schema验证) 来自类 'ResponseSchemaValidationCase' (路径: ./custom_testcases/compliance_catalog/core_functionality/schema_validation_case.py)
|
||
2025-07-11 18:57:44,877 - ddms_compliance_suite.test_case_registry - DEBUG - 成功导入模块: flexible_schema_validation_case 从 ./custom_testcases/compliance_catalog/core_functionality/flexible_schema_validation_case.py
|
||
2025-07-11 18:57:44,877 - ddms_compliance_suite.test_case_registry - INFO - 已注册测试用例: 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) 来自类 'FlexibleSchemaValidationCase' (路径: ./custom_testcases/compliance_catalog/core_functionality/flexible_schema_validation_case.py)
|
||
2025-07-11 18:57:44,877 - ddms_compliance_suite.test_case_registry - INFO - 已根据 execution_order (主要) 和类名 (次要) 对 20 个测试用例类进行了排序。
|
||
2025-07-11 18:57:44,877 - ddms_compliance_suite.test_case_registry - INFO - 测试用例发现完成。总共注册了 20 个独特的测试用例 (基于ID)。发现并排序了 20 个测试用例类。
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.llm_utils.llm_service - INFO - LLMService initialized for model 'qwen-plus' at https://dashscope.aliyuncs.com/compatible-mode/v1
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.test_orchestrator - INFO - LLMService initialized with model: qwen-plus.
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.test_orchestrator - INFO - LLMService is initialized, but no LLM generation flags (--use-llm-for-*) are enabled.
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.stage_registry - INFO - 开始从目录发现测试阶段: custom_stages
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.stage_registry - DEBUG - 成功加载模块: ddms_compliance_suite.stages.keyword_driven_crud_stage 从 custom_stages/keyword_driven_crud_stage.py
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.stage_registry - DEBUG - 成功加载模块: ddms_compliance_suite.stages.dms_crud_scenario_stage 从 custom_stages/dms_crud_scenario_stage.py
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.stage_registry - INFO - 成功注册测试阶段: dms_crud_scenario_stage (来自 ddms_compliance_suite.stages.dms_crud_scenario_stage.DmsCrudScenarioStage)
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.stage_registry - INFO - 测试阶段发现完成。共加载 1 个阶段。发现 0 个错误。
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.test_orchestrator - INFO - StageRegistry initialized. Loaded 1 stages.
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.test_orchestrator - INFO - Orchestrator output directory set to: /Users/zpc01/workspace/zzlh/compliance/test_reports/2025-07-11_18-57-44
|
||
2025-07-11 18:57:44,878 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,878 - __main__ - INFO - 从DMS服务动态发现运行测试: ./assets/doc/dms/domain.json
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.test_orchestrator - INFO - TestSummary initialized.
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.test_orchestrator - INFO - 从DMS动态服务启动测试...
|
||
2025-07-11 18:57:44,878 - ddms_compliance_suite.input_parser.parser - INFO - Starting DMS spec parsing. Base URL: http://127.0.0.1:5001, Domain Map: ./assets/doc/dms/domain.json
|
||
2025-07-11 18:57:44,879 - ddms_compliance_suite.input_parser.parser - INFO - Fetching API list from: http://127.0.0.1:5001/api/schema/manage/schema
|
||
2025-07-11 18:57:44,885 - ddms_compliance_suite.input_parser.parser - INFO - Fetching model for 'lujing_test' from: http://127.0.0.1:5001/api/schema/manage/schema/lujing_test.1.0.0
|
||
2025-07-11 18:57:44,886 - ddms_compliance_suite.input_parser.parser - INFO - Fetching model for 'wb_dr_pro_daily_report' from: http://127.0.0.1:5001/api/schema/manage/schema/wb_dr_pro_daily_report.1.0.0
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行API测试阶段 (Stages)...
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - 发现了 1 个已定义的测试阶段: ['dms_crud_scenario_stage']
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - WARNING - 未知的解析规范类型: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>。将阶段应用于整个规范 (api_group_name=None).
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - 将针对 1 个API分组评估测试阶段: [None]
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - 处理测试阶段定义: ID='dms_crud_scenario_stage', Name='DMS Full CRUD Scenario'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备阶段 'dms_crud_scenario_stage' 的上下文,针对API分组: 'Global'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - For Global context, selected 10 endpoint objects.
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - 为阶段 'dms_crud_scenario_stage' 和分组 'Global' 实例化。API对象数量: 10. 元数据: {'name': 'Global (所有API)', 'description': '适用于规范中的所有API'}
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - 检查阶段 'dms_crud_scenario_stage' 是否适用于API分组 'Global'...
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Found complete CRUD scenario for DMS resource: 'lujing_test'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Found complete CRUD scenario for DMS resource: 'wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'dms_crud_scenario_stage' 适用于API分组 'Global'。开始执行...
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试阶段: ID='dms_crud_scenario_stage', Name='DMS Full CRUD Scenario', API分组='Global'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - 调用 stage 'dms_crud_scenario_stage' 的 before_stage 钩子。初始上下文: {}
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Setting up before_stage for scenario: ['create', 'list', 'read', 'update', 'delete']
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 开始执行.
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 调用 before_step 钩子. 上下文: {'pk_name': 'description', 'pk_value': 'c3782722-693c-41e0-8f7a-6121c09ab40e', 'current_payload': {'description': 'test-entry-from-scenario'}, 'update_payload': {'description': 'updated-test-entry-from-scenario'}, 'scenario_endpoints': {'create': <DMSEndpoint Method:POST Path:/api/dms/wb_ml/v1/lujing_test Title:'Create lujing_test' Mode:standalone>, 'list': <DMSEndpoint Method:POST Path:/api/dms/wb_ml/v1/lujing_test/1.0.0 Title:'List lujing_test' Mode:scenario_only>, 'read': <DMSEndpoint Method:GET Path:/api/dms/wb_ml/v1/lujing_test/1.0.0/{id} Title:'Read lujing_test' Mode:scenario_only>, 'update': <DMSEndpoint Method:PUT Path:/api/dms/wb_ml/v1/lujing_test Title:'Update lujing_test' Mode:scenario_only>, 'delete': <DMSEndpoint Method:DELETE Path:/api/dms/wb_ml/v1/lujing_test Title:'Delete lujing_test' Mode:scenario_only>}}
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - DEBUG - Executing before_step for step 'Step 1: Create Resource' in stage 'dms_crud_scenario_stage'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 查找端点定义. Key='CREATE', Group='None'
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 已解析端点 'POST /api/dms/wb_ml/v1/lujing_test'. 准备请求数据.
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,887 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.888069
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 应用请求覆盖: {'body': {'data': ['{{stage_context.current_payload}}']}}
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'Step 1: Create Resource'] 解析上下文路径: 'current_payload' 来自模板 '{{stage_context.current_payload}}'
|
||
2025-07-11 18:57:44,888 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'Step 1: Create Resource'] 从上下文解析到值 '{'description': 'test-entry-from-scenario'}...' (路径: 'current_payload')
|
||
2025-07-11 18:57:44,889 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 发送API请求: POST http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 收到响应. Status: 400. 验证中...
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 预期状态码为 [200, 201], 实际为 400.
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 执行断言 'validate_response_is_true'
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 断言 'validate_response_is_true' 失败: Expected response data to be true, but it was 'None'.
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 提取输出到上下文. Map: {}
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 调用 after_step 钩子.
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - DEBUG - Executing after_step for step 'Step 1: Create Resource' in stage 'dms_crud_scenario_stage'
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 执行完毕. 状态: 失败, 耗时: 0.00s
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 状态为 失败 且 continue_on_failure=False. 中止测试阶段 'dms_crud_scenario_stage'.
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - DEBUG - 调用 stage 'dms_crud_scenario_stage' 的 after_stage 钩子. 当前阶段结果状态: 失败
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Finished scenario 1/2 for this group.
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'dms_crud_scenario_stage' (API分组: 'Global') 执行完毕. 最终状态: 失败, 耗时: 0.00s
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_orchestrator - INFO - API Test Stage execution processed. Considered 1 (stage_definition x api_group) combinations.
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,890 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,891 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/wb_ml/v1/lujing_test (Create lujing_test)
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_ml/v1/lujing_test' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,892 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.892671
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,892 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,893 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,893 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.893971
|
||
2025-07-11 18:57:44,893 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,894 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,894 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,895 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.895131
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,895 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,895 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:44,895 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:44,896 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,896 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.896599
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,896 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.897636
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,897 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,898 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-07-11 18:57:44,898 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:44,898 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.898778
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,898 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.899742
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,899 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 'Content-Type: application/json' -H 'Content-Length: 55' -d '{"data": [{"description": "test-entry-from-scenario"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 55\' -d \'{"data": [{"description": "test-entry-from-scenario"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.892671"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.892671"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.893971"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.893971"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.895131"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.895131"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.896599"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.896599"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.897636"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.897636"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, '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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.898778"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.898778"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.899742"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-004' 执行失败。[0m
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.900781
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,900 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.901796
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,901 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,902 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.902823
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,902 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,903 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:44,903 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.904921
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,904 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,905 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.906008
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,906 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,907 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'POST /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.907137
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,907 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,907 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.908090
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,908 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:44,908 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,908 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.909170
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,909 - 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-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,909 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,909 - testcase.TC-ERROR-4001-QUERY - 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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.899742"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.900781"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.900781"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.901796"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.901796"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.902823"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.902823"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.904921"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.904921"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.906008"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.906008"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.907137"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.907137"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.908090"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.908090"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0007529258728027344
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,910 - 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-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.910366
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,910 - 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-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,910 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,910 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0008378028869628906
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - DEBUG - 在路径 data.0.record_count 找到范围受限字段。
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Found ranged numeric field in BODY at path: data.0.record_count
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Target found in 'body' at path 'data.0.record_count'. Type: integer, Min: 0, Max: 10000, Desc: ''
|
||
2025-07-11 18:57:44,911 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Setting out-of-range value to 10001 (max is 10000).
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,911 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.912003
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 data.0.record_count (键 'record_count') 处设置值为 '10001'
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Successfully injected out-of-range value into parameters.
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,912 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0007319450378417969
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4002' 执行失败。[0m
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,912 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,913 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:44,913 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:44,913 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.913606
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,913 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['data'], 属性: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'data'
|
||
2025-07-11 18:57:44,914 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data'
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.914705
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data' 成功移除字段 'data' (原值: '[{'description': 'example_string', 'lujing_test_id': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.914705'}]')。
|
||
2025-07-11 18:57:44,914 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data'。
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,914 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,915 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:44,915 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'POST /api/dms/wb_ml/v1/lujing_test' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.915752
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,915 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,916 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,916 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,916 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,916 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_ml/v1/lujing_test' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/wb_ml/v1/lujing_test/1.0.0 (List lujing_test)
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,916 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,917 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,917 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,917 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,917 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,918 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,918 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,919 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,919 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 0, 'data': [{'description': 'example_string', 'lujing_test_id': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.915752'}], 'message': "获取 'lujing_test' 列表成功"}
|
||
2025-07-11 18:57:44,919 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 0, 'data': [{'description': 'example_string', 'lujing_test_id': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.915752'}], 'message': "获取 'lujing_test' 列表成功"}
|
||
2025-07-11 18:57:44,919 - testcase.TC-SECURITY-002 - INFO - response_data:[{'description': 'example_string', 'lujing_test_id': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.915752'}]
|
||
2025-07-11 18:57:44,919 - testcase.TC-SECURITY-002 - INFO - response_data:{'description': 'example_string', 'lujing_test_id': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.915752'}
|
||
2025-07-11 18:57:44,919 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,919 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,919 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.909170"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.909170"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 193' -d '{"version": 12345, "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.910366"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 193\' -d \'{"version": 12345, "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.910366"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 199' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:44.912003"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 199\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:44.912003"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.913606"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.913606"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 30' -d '{"version": "1.0.0", "act": 0}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 30\' -d \'{"version": "1.0.0", "act": 0}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.915752"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.915752"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,920 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,921 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Successful Operation', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'array', 'items': {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}}}}}}}}
|
||
2025-07-11 18:57:44,921 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:44,921 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,921 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,922 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-004' 执行失败。[0m
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,923 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,924 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,925 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,925 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:44,926 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,926 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-003' 执行失败。[0m
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,927 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,928 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,928 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,929 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,929 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:44,929 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,929 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: POST /api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,929 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:44,929 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:44,929 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,929 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,929 - 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-07-11 18:57:44,929 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,929 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'NoneType'>
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Successful Operation', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'array', 'items': {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0006449222564697266
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: POST /api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - 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-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - No suitable request body schema found
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] No request body schema found for endpoint. Skipping type mismatch target search.
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Conclusion: No target field identified for request body type mismatch test.
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] No target field or original type identified for body type mismatch. Skipping body modification.
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,930 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,930 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'NoneType'>
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Skipped type mismatch (body) validation: No target field was identified.
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006871223449707031
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-BODY' 执行成功。[0m
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: POST /api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - No suitable request body schema found
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,931 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,931 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'NoneType'>
|
||
2025-07-11 18:57:44,932 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006368160247802734
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,932 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:44,932 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:44,932 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,932 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,933 - testcase.TC-ERROR-4003-BODY - INFO - 此端点规范中未定义或找到请求体 schema(通过基类方法)。
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,933 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,934 - testcase.TC-ERROR-4003-BODY - INFO - 由于未识别到可移除的必填请求体字段,跳过此测试用例的验证。
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-BODY' 执行成功。[0m
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,934 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:44,934 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0'
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_lujing_test': application/json
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,934 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
2025-07-11 18:57:44,935 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,935 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,935 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,935 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_ml/v1/lujing_test/1.0.0' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id} (Read lujing_test)
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('id') 的 schema...
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,935 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}' 初始化。
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'read_lujing_test': {'id': 'param_id'}
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'read_lujing_test': None
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'read_lujing_test': application/json
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'read_lujing_test' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'id': 'param_id'}
|
||
2025-07-11 18:57:44,935 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0/param_id
|
||
2025-07-11 18:57:44,936 - testcase.TC-STATUS-001 - WARNING - 状态码验证失败: 期望 200, 实际 404 for http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0/param_id
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - ERROR - 关键的前置测试用例 'TC-STATUS-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}' 失败。后续测试将被跳过。原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-STATUS-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-HEADER-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-HEADER-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-SECURITY-002' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-SECURITY-002' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-LLM-COMPLIANCE-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-LLM-COMPLIANCE-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-DMS-PAGINATION-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-DMS-PAGINATION-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-004' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-004' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-002' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-002' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-DMS-CORE-SCHEMA-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-DMS-CORE-SCHEMA-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-CORE-FUNC-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-CORE-FUNC-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-003' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-003' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-DMS-URL-VERSION-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-DMS-URL-VERSION-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-CORE-FUNC-002' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-CORE-FUNC-002' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-SECURITY-001' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-SECURITY-001' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4001-QUERY' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4001-QUERY' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4001-BODY' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4001-BODY' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4002' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4002' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4006' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4006' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4003-BODY' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4003-BODY' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4003-QUERY' for 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4003-QUERY' 被跳过。[0m
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:44,936 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,936 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,936 - root - INFO - relevant_failed_tcs: [<ddms_compliance_suite.test_orchestrator.ExecutedTestCaseResult object at 0x10352eae0>]
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'GET /api/dms/wb_ml/v1/lujing_test/1.0.0/{id}' 测试完成,最终状态: 失败
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: PUT /api/dms/wb_ml/v1/lujing_test (Update lujing_test)
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,936 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'PUT /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'PUT /api/dms/wb_ml/v1/lujing_test' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,937 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'PUT /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.937246
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,937 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,938 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,938 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'PUT /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.938274
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,938 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,938 - RequiredHeadersSchemaCheck - INFO - API端点: PUT /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,938 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:44,938 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,939 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:44,939 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,939 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:44,939 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,939 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,939 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.939302
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,939 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,940 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:44,940 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:44,940 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,940 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.940349
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,940 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/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' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0/param_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' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test/1.0.0/param_id"
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.937246"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.937246"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.938274"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.938274"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.939302"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.939302"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.940349"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.941289
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,941 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,941 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-07-11 18:57:44,941 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:44,942 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.942224
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,942 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.943255
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,943 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-004' 执行成功。[0m
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.944255
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,944 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.945356
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,945 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,946 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'PUT /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.946323
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,946 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:44,947 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.947295
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,947 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.948436
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,948 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.940349"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.941289"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.941289"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, '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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.942224"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.942224"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.943255"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.943255"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.944255"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.944255"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.945356"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.945356"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.946323"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.946323"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.947295"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.947295"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,949 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'PUT /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.949567
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,949 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,950 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'PUT /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.950599
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,950 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,950 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:44,951 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: PUT /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.951607
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,951 - 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-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,951 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,951 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0006699562072753906
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: PUT /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,952 - 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-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.952712
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,952 - 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-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,952 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,952 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006530284881591797
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: PUT /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - 在路径 data.0.record_count 找到范围受限字段。
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Found ranged numeric field in BODY at path: data.0.record_count
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Target found in 'body' at path 'data.0.record_count'. Type: integer, Min: 0, Max: 10000, Desc: ''
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Setting out-of-range value to 10001 (max is 10000).
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.953838
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 data.0.record_count (键 'record_count') 处设置值为 '10001'
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Successfully injected out-of-range value into parameters.
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,953 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,953 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,954 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006530284881591797
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4002' 执行失败。[0m
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,954 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:44,954 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:44,954 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.954880
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,954 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['data'], 属性: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'data'
|
||
2025-07-11 18:57:44,955 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data'
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.955852
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data' 成功移除字段 'data' (原值: '[{'description': 'example_string', 'lujing_test_id': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.955852'}]')。
|
||
2025-07-11 18:57:44,955 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data'。
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,955 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,956 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:44,956 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'PUT /api/dms/wb_ml/v1/lujing_test' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'PUT /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_lujing_test': application/json
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 使用 schema 中的 'example' 值 for (context: update_lujing_test_body.act): 0
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 array 类型数据 for (context: update_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 object 类型数据 for (context: update_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 number/integer 类型数据 for (context: update_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('') for (context: update_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_lujing_test] 生成 string 类型数据 ('date-time') for (context: update_lujing_test_body.data[0].update_date): 2025-07-11T18:57:44.956832
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,956 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.948436"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.948436"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.949567"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.949567"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.950599"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.950599"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.951607"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.951607"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 193' -d '{"version": 12345, "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.952712"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 193\' -d \'{"version": 12345, "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.952712"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 199' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:44.953838"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 199\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:44.953838"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.954880"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.954880"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 30' -d '{"version": "1.0.0", "act": 0}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 30\' -d \'{"version": "1.0.0", "act": 0}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,957 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,957 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,957 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,957 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'PUT /api/dms/wb_ml/v1/lujing_test' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: DELETE /api/dms/wb_ml/v1/lujing_test (Delete lujing_test)
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'DELETE /api/dms/wb_ml/v1/lujing_test'。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,957 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,957 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,958 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,958 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,958 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - INFO - API端点: DELETE /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,959 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,959 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,959 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,960 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 404, 'data': False, 'message': '未找到要删除的资源'}
|
||
2025-07-11 18:57:44,960 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 404, 'data': False, 'message': '未找到要删除的资源'}
|
||
2025-07-11 18:57:44,960 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,960 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,960 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,961 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,962 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-07-11 18:57:44,962 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:44,962 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,962 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,963 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-004' 执行成功。[0m
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,964 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,965 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 'Content-Type: application/json' -H 'Content-Length: 195' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.956832"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 195\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "lujing_test_id": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.956832"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, '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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,966 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,966 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:44,967 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,967 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,968 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,969 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,969 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,970 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 初始化。
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,970 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,970 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:44,971 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: DELETE /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,971 - 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-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,971 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,971 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0006310939788818359
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: DELETE /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,972 - 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-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,972 - 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-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,972 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,972 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006258487701416016
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: DELETE /api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,973 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,973 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,974 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006501674652099609
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,974 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:44,974 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:44,974 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,974 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['data'], 属性: ['version', 'data']
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'data'
|
||
2025-07-11 18:57:44,975 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data'
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data' 成功移除字段 'data' (原值: '[{'description': 'example_string'}]')。
|
||
2025-07-11 18:57:44,975 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data'。
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,975 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 63' -d '{"version": 12345, "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 63\' -d \'{"version": 12345, "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 20' -d '{"version": "1.0.0"}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,976 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:44,976 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'DELETE /api/dms/wb_ml/v1/lujing_test'
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_lujing_test': application/json
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 使用 schema 中的 'example' 值 for (context: delete_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 array 类型数据 for (context: delete_lujing_test_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 object 类型数据 for (context: delete_lujing_test_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_lujing_test] 生成 string 类型数据 ('') for (context: delete_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,976 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:44,977 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,977 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,977 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,977 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'DELETE /api/dms/wb_ml/v1/lujing_test' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report (Create wb_dr_pro_daily_report)
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,977 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.977510
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,977 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,978 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,978 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.978653
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,978 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,979 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,979 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.979718
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,979 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,980 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:44,980 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:44,980 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,980 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.980783
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,980 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.981767
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,981 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,982 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-07-11 18:57:44,982 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:44,982 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.982732
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,982 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.983732
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,983 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 20\' -d \'{"version": "1.0.0"}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.977510", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.977510", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.978653", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.978653", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.979718", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.979718", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.980783", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.980783", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.981767", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.981767", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, '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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.982732", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.982732", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-004' 执行失败。[0m
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.984770
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,984 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.985762
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,985 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,986 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.986728
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,986 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:44,987 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.987723
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,987 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.988633
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,988 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,989 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.989583
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,989 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,990 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.990573
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,990 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,990 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report' 不是HTTPS。跳过此测试用例的URL修改。
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.983732", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.983732", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.984770", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.984770", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.985762", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.985762", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.986728", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.986728", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.987723", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.987723", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.988633", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.988633", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.989583", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.989583", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.990573", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,991 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.991641
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,991 - 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-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,991 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,991 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0006771087646484375
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,992 - 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-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.992709
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,992 - 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-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,992 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,992 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006499290466308594
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - 在路径 data.0.record_count 找到范围受限字段。
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Found ranged numeric field in BODY at path: data.0.record_count
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Target found in 'body' at path 'data.0.record_count'. Type: integer, Min: 0, Max: 10000, Desc: ''
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Setting out-of-range value to 10001 (max is 10000).
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.993812
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 data.0.record_count (键 'record_count') 处设置值为 '10001'
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Successfully injected out-of-range value into parameters.
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,993 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:44,993 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:44,994 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006861686706542969
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4002' 执行失败。[0m
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,994 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:44,994 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:44,994 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.994895
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,994 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['data'], 属性: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'data'
|
||
2025-07-11 18:57:44,995 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data'
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.995899
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data' 成功移除字段 'data' (原值: '[{'description': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.995899', 'wb_dr_pro_daily_report_id': 'example_string'}]')。
|
||
2025-07-11 18:57:44,995 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data'。
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,995 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,996 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:44,996 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: create_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: create_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: create_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: create_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:44.996881
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: create_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,996 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:44,997 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,997 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,997 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:44,997 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0 (List wb_dr_pro_daily_report)
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,997 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,997 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:44,998 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,998 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 初始化。
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,998 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - INFO - API端点: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:44,999 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:44,999 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:44,999 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.990573", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.991641", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.991641", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 204' -d '{"version": 12345, "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.992709", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 204\' -d \'{"version": 12345, "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.992709", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 210' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:44.993812", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 210\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:44.993812", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.994895", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.994895", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 30' -d '{"version": "1.0.0", "act": 0}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 30\' -d \'{"version": "1.0.0", "act": 0}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.996881", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:44.996881", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
2025-07-11 18:57:45,000 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 0, 'data': [{'description': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.996881', 'wb_dr_pro_daily_report_id': 'example_string'}], 'message': "获取 'wb_dr_pro_daily_report' 列表成功"}
|
||
2025-07-11 18:57:45,000 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 0, 'data': [{'description': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.996881', 'wb_dr_pro_daily_report_id': 'example_string'}], 'message': "获取 'wb_dr_pro_daily_report' 列表成功"}
|
||
2025-07-11 18:57:45,000 - testcase.TC-SECURITY-002 - INFO - response_data:[{'description': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.996881', 'wb_dr_pro_daily_report_id': 'example_string'}]
|
||
2025-07-11 18:57:45,000 - testcase.TC-SECURITY-002 - INFO - response_data:{'description': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:44.996881', 'wb_dr_pro_daily_report_id': 'example_string'}
|
||
2025-07-11 18:57:45,000 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,000 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,000 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,001 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,002 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Successful Operation', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'array', 'items': {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}}}}}}}}
|
||
2025-07-11 18:57:45,002 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:45,002 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,002 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,003 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-004' 执行失败。[0m
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,004 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,005 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 初始化。
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,005 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:45,006 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,006 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-RESTful-003' 执行失败。[0m
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,007 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,008 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 初始化。
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,008 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Successful Operation', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'array', 'items': {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}}}}}}}}
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,009 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 初始化。
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,009 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,009 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:45,010 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,010 - 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-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,010 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,010 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'NoneType'>
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0007340908050537109
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,011 - 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-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - No suitable request body schema found
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] No request body schema found for endpoint. Skipping type mismatch target search.
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Conclusion: No target field identified for request body type mismatch test.
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] No target field or original type identified for body type mismatch. Skipping body modification.
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,011 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,011 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'NoneType'>
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Skipped type mismatch (body) validation: No target field was identified.
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006318092346191406
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-BODY' 执行成功。[0m
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - No suitable request body schema found
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,012 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,012 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'NoneType'>
|
||
2025-07-11 18:57:45,013 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006000995635986328
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,013 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:45,013 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:45,013 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,013 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,014 - testcase.TC-ERROR-4003-BODY - INFO - 此端点规范中未定义或找到请求体 schema(通过基类方法)。
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,014 - testcase.TC-ERROR-4003-BODY - INFO - 由于未识别到可移除的必填请求体字段,跳过此测试用例的验证。
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-BODY' 执行成功。[0m
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,014 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:45,014 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0'
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'list_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'list_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,014 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
2025-07-11 18:57:45,015 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,015 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,015 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,015 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'POST /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id} (Read wb_dr_pro_daily_report)
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 parameters[0] ('id') 的 schema...
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,015 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}' 初始化。
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial path param for 'read_wb_dr_pro_daily_report': {'id': 'param_id'}
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'read_wb_dr_pro_daily_report': None
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'read_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - No request body schema found or applicable for 'read_wb_dr_pro_daily_report' with Content-Type 'application/json'. Initial body is None.
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {'id': 'param_id'}
|
||
2025-07-11 18:57:45,015 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/param_id
|
||
2025-07-11 18:57:45,016 - testcase.TC-STATUS-001 - WARNING - 状态码验证失败: 期望 200, 实际 404 for http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/param_id
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - ERROR - 关键的前置测试用例 'TC-STATUS-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}' 失败。后续测试将被跳过。原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-STATUS-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-HEADER-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-HEADER-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-SECURITY-002' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-SECURITY-002' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-LLM-COMPLIANCE-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-LLM-COMPLIANCE-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-DMS-PAGINATION-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-DMS-PAGINATION-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-004' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-004' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-002' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-002' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-DMS-CORE-SCHEMA-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-DMS-CORE-SCHEMA-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-CORE-FUNC-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-CORE-FUNC-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-RESTful-003' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-RESTful-003' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-DMS-URL-VERSION-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-DMS-URL-VERSION-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-CORE-FUNC-002' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-CORE-FUNC-002' 被跳过。[0m
|
||
2025-07-11 18:57:45,016 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-SECURITY-001' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-SECURITY-001' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4001-QUERY' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4001-QUERY' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4001-BODY' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4001-BODY' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4002' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4002' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4006' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4006' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4003-BODY' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4003-BODY' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - WARNING - 由于关键的前置测试用例失败,跳过测试用例 'TC-ERROR-4003-QUERY' for 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}'. 原因: 关键测试 'TC-STATUS-001' 失败 (状态: 失败)。消息:
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [93m ⏭️ 测试用例 'TC-ERROR-4003-QUERY' 被跳过。[0m
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 跳过
|
||
2025-07-11 18:57:45,017 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,017 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,017 - root - INFO - relevant_failed_tcs: [<ddms_compliance_suite.test_orchestrator.ExecutedTestCaseResult object at 0x10351fcb0>]
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'GET /api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/{id}' 测试完成,最终状态: 失败
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report (Update wb_dr_pro_daily_report)
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,017 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.017555
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,017 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,018 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,018 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.018628
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,018 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - INFO - API端点: PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:45,019 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,019 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.019752
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,019 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0"
|
||
DEBUG: curlify generated command (raw): curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0
|
||
DEBUG: curlify generated command (repr): "curl -X POST -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'Content-Type: application/json' -H 'Content-Length: 0' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/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' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/param_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' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report/1.0.0/param_id"
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.017555", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.017555", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.018628", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.018628", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,020 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:45,020 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 0, 'data': True, 'message': '创建成功'}
|
||
2025-07-11 18:57:45,020 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,020 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.020868
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,020 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.021872
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,021 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,022 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-07-11 18:57:45,022 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
2025-07-11 18:57:45,022 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.022916
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,022 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.023841
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,023 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-004' 执行成功。[0m
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.025258
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,025 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.026325
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,026 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,027 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.027303
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,027 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.019752", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.019752", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.020868", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.020868", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.021872", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.021872", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
status_code: 200
|
||
responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, '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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.022916", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.022916", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.023841", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.023841", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.025258", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.025258", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.026325", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.026325", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:45,028 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.028365
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,028 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.029281
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,029 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,030 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.030259
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,030 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,031 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.031193
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,031 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:45,031 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,031 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.032208
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,032 - 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-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,032 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,032 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0006859302520751953
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,033 - 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-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.033300
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,033 - 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-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,033 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,033 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006568431854248047
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - 在路径 data.0.record_count 找到范围受限字段。
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Found ranged numeric field in BODY at path: data.0.record_count
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Target found in 'body' at path 'data.0.record_count'. Type: integer, Min: 0, Max: 10000, Desc: ''
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Setting out-of-range value to 10001 (max is 10000).
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.034394
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 data.0.record_count (键 'record_count') 处设置值为 '10001'
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Successfully injected out-of-range value into parameters.
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,034 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,034 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.027303", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.027303", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.028365", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.028365", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.029281", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.029281", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.030259", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.030259", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.031193", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.031193", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.032208", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.032208", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 204' -d '{"version": 12345, "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.033300", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 204\' -d \'{"version": 12345, "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.033300", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,035 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006802082061767578
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4002' 执行失败。[0m
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,035 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:45,035 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:45,035 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.035468
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,035 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['data'], 属性: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'data'
|
||
2025-07-11 18:57:45,036 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data'
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.036432
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data' 成功移除字段 'data' (原值: '[{'description': 'example_string', 'record_count': 0, 'status': 'active', 'update_date': '2025-07-11T18:57:45.036432', 'wb_dr_pro_daily_report_id': 'example_string'}]')。
|
||
2025-07-11 18:57:45,036 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data'。
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,036 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,037 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:45,037 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'update_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: update_wb_dr_pro_daily_report_body.act): 0
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: update_wb_dr_pro_daily_report_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}, 'wb_dr_pro_daily_report_id': {'description': '主键 for wb_dr_pro_daily_report', 'title': '主键', 'type': 'string'}}, 'required': ['wb_dr_pro_daily_report_id', 'status'], 'title': '钻井日报数据', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0]). Properties: ['description', 'record_count', 'status', 'update_date', 'wb_dr_pro_daily_report_id']
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 number/integer 类型数据 for (context: update_wb_dr_pro_daily_report_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].status): active
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('date-time') for (context: update_wb_dr_pro_daily_report_body.data[0].update_date): 2025-07-11T18:57:45.037422
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - [update_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: update_wb_dr_pro_daily_report_body.data[0].wb_dr_pro_daily_report_id): example_string
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'update_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,037 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,038 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,038 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,038 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,038 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'PUT /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - INFO - 开始为端点测试: DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report (Delete wb_dr_pro_daily_report)
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-STATUS-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-HEADER-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-004' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-RESTful-003' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-CORE-FUNC-002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-SECURITY-001' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4002' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4006' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_case_registry - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 适用于端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 发现了 20 个适用的测试用例 (已排序): ['TC-STATUS-001', 'TC-HEADER-001', 'TC-SECURITY-002', 'TC-LLM-COMPLIANCE-001', 'TC-RESTful-001', 'TC-DMS-PAGINATION-001', 'TC-RESTful-004', 'TC-RESTful-002', 'TC-DMS-CORE-SCHEMA-001', 'TC-CORE-FUNC-001', 'TC-RESTful-003', 'TC-DMS-URL-VERSION-001', 'TC-CORE-FUNC-002', '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-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-STATUS-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: StatusCode200Check 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,038 - testcase.TC-STATUS-001 - INFO - 测试用例 TC-STATUS-001 (基本状态码 200 检查) 已针对端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-STATUS-001' (基本状态码 200 检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,038 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,039 - testcase.TC-STATUS-001 - INFO - 状态码验证通过: 200 == 200 for http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-STATUS-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-STATUS-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-HEADER-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: RequiredHeadersSchemaCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,039 - RequiredHeadersSchemaCheck - INFO - 测试用例 TC-HEADER-001 (必需请求头Schema验证) 已针对端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-HEADER-001' (必需请求头Schema验证) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,039 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - INFO - API端点: DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - INFO - 发现的header参数: []
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Tenant-ID: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Tenant-ID
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - INFO - 检查请求头 X-Data-Domain: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 X-Data-Domain
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - INFO - 检查请求头 Authorization: 找到=False, 必需=False, 名称=None
|
||
2025-07-11 18:57:45,040 - RequiredHeadersSchemaCheck - WARNING - 规范验证失败: 缺少必需的请求头 Authorization
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-HEADER-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-HEADER-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-002' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: EncryptedFieldsCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,040 - testcase.TC-SECURITY-002 - INFO - 测试用例 TC-SECURITY-002 (敏感字段加密检查) 已初始化,将检查以下敏感字段是否加密: {'coord', 'position', 'location'}
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-002' (敏感字段加密检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,040 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,041 - testcase.TC-SECURITY-002 - INFO - response_context.json_content: {'code': 404, 'data': False, 'message': '未找到要删除的资源'}
|
||
2025-07-11 18:57:45,041 - testcase.TC-SECURITY-002 - INFO - response_data:{'code': 404, 'data': False, 'message': '未找到要删除的资源'}
|
||
2025-07-11 18:57:45,041 - testcase.TC-SECURITY-002 - INFO - 未在响应中找到需要检查的敏感字段。
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-SECURITY-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-LLM-COMPLIANCE-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: LLMComplianceCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,041 - testcase.TC-LLM-COMPLIANCE-001 - INFO - 已加载合规性标准: []
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-LLM-COMPLIANCE-001' (LLM合规性综合检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,041 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-LLM-COMPLIANCE-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-LLM-COMPLIANCE-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: CoreNamingStructureTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-001' (核心命名与结构规范检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,042 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,043 - testcase.TC-RESTful-001 - INFO - responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, 'message': {'type': 'string'}, 'data': {'type': 'boolean'}}}}}}}
|
||
2025-07-11 18:57:45,043 - testcase.TC-RESTful-001 - INFO - 检查响应定义: status_code=200, 可用响应定义=['200']
|
||
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 'Content-Type: application/json' -H 'Content-Length: 210' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:45.034394", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 210\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 10001, "status": "active", "update_date": "2025-07-11T18:57:45.034394", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.035468", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.035468", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 30' -d '{"version": "1.0.0", "act": 0}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 30\' -d \'{"version": "1.0.0", "act": 0}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 206' -d '{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.037422", "wb_dr_pro_daily_report_id": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 206\' -d \'{"version": "1.0.0", "act": 0, "data": [{"description": "example_string", "record_count": 0, "status": "active", "update_date": "2025-07-11T18:57:45.037422", "wb_dr_pro_daily_report_id": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
status_code: 200
|
||
2025-07-11 18:57:45,043 - testcase.TC-RESTful-001 - INFO - 找到精确状态码 200 的响应定义
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-PAGINATION-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: PaginationParamsCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-PAGINATION-001' (分页参数检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,043 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-DMS-PAGINATION-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-PAGINATION-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-004' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourceCollectionPluralCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-004' (资源集合复数命名检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-004' 执行成功。[0m
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-004' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-002' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,044 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResourcePathNounCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-002' (资源路径名词检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-CORE-SCHEMA-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaFormatCheck 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-CORE-SCHEMA-001' (DMS核心存储服务API响应格式检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,045 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-CORE-SCHEMA-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: ResponseSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,046 - testcase.TC-CORE-FUNC-001 - INFO - 测试用例 'TC-CORE-FUNC-001' 已为端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-001' (返回体JSON Schema验证) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,046 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.utils.schema_provider - DEBUG - 尝试从API规范中为状态码 200 查找Schema。
|
||
2025-07-11 18:57:45,047 - testcase.TC-CORE-FUNC-001 - INFO - 将根据从API规范中获取的schema验证响应体。
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-RESTful-003' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TimeFormatCheckTestCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-RESTful-003' (时间字段ISO 8601格式检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,047 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-RESTful-003' 执行成功。[0m
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-RESTful-003' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-DMS-URL-VERSION-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: URLVersionCheckCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-DMS-URL-VERSION-001' (DMS API URL版本号检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,048 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-DMS-URL-VERSION-001' 执行成功。[0m
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-DMS-URL-VERSION-001' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-CORE-FUNC-002' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: FlexibleSchemaValidationCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,049 - testcase.TC-CORE-FUNC-002 - INFO - 测试用例 'TC-CORE-FUNC-002' 已为端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-CORE-FUNC-002' (灵活的返回体JSON Schema验证) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,049 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-CORE-FUNC-002' 执行成功。[0m
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-CORE-FUNC-002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-SECURITY-001' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: HTTPSMandatoryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,050 - testcase.TC-SECURITY-001 - INFO - 测试用例 'TC-SECURITY-001' 已为端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-SECURITY-001' (HTTPS 协议强制性检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,050 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,050 - testcase.TC-SECURITY-001 - WARNING - 原始URL 'http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report' 不是HTTPS。跳过此测试用例的URL修改。
|
||
2025-07-11 18:57:45,051 - testcase.TC-SECURITY-001 - ERROR - 安全漏洞:API允许通过HTTP成功响应 (200)。
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-SECURITY-001' 执行失败。[0m
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-SECURITY-001' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-QUERY' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchQueryParamCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' initialized for endpoint: DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Initializing: Looking for a simple type query parameter for type mismatch test.
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - INFO - _find_first_simple_type_parameter: No suitable simple type field found for query parameters.
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] No suitable simple type query parameter found for type mismatch test.
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-QUERY' (查询参数类型不匹配检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,051 - 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-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - TC-ERROR-4001-QUERY is focused on query parameters, generate_request_body will not modify the body.
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,051 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Test case 'TC-ERROR-4001-QUERY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,051 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
responses: {'200': {'description': 'Success', 'content': {'application/json': {'schema': {'type': 'object', 'properties': {'code': {'type': 'integer'}, '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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-QUERY - INFO - [TC-ERROR-4001-QUERY] Skipped type mismatch (query) validation: No target query parameter was identified.
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-QUERY - DEBUG - Hook: check_performance, elapsed: 0.0006961822509765625
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4001-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4001-BODY' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: TypeMismatchBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' initialized for endpoint: DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,052 - 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-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - _find_simple_type_field_in_schema: Searching for simple type field in 'request body' schema...
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - INFO - Found simple type field: Path=version, Type=string
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - INFO - _find_simple_type_field_in_schema: Found simple type field in 'request body': Path=version, Type=string
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Target field for type mismatch (body): version, Original Type: string
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4001-BODY' (请求体字段类型不匹配检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - TC-ERROR-4001-BODY is focused on request body, generate_query_params will not modify query parameters.
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: generate_headers, current keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,052 - 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-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - INFO - [TC-ERROR-4001-BODY] Generated mismatched value '12345' for original type 'string' at path 'version'.
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 在路径 version (键 'version') 处设置值为 '12345'
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - [TC-ERROR-4001-BODY] Successfully set mismatched value at path using util_set_value_at_path.
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,052 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Test case 'TC-ERROR-4001-BODY' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,052 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4001-BODY - DEBUG - Hook: check_performance, elapsed: 0.0006220340728759766
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4001-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4001-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4002' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: NumberOutOfRangeCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' initialized for endpoint: DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] Searching for a ranged numeric field...
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Found request body schema in content type: application/json
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in request body.
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in query parameters.
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in path parameters.
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - [TC-ERROR-4002] Checking for ranged numeric field in header parameters.
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No ranged numeric field found in any location.
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - INFO - [TC-ERROR-4002] No suitable ranged numeric field found for this endpoint.
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4002' (数值参数越界检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,053 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Hook: modify_request_url, original URL: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Test case 'TC-ERROR-4002' did not modify the URL via modify_request_url hook.
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_url, url: http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_headers, header keys: ['Content-Type', 'Accept']
|
||
2025-07-11 18:57:45,053 - testcase.TC-ERROR-4002 - DEBUG - Hook: validate_request_body, body type: <class 'dict'>
|
||
2025-07-11 18:57:45,054 - testcase.TC-ERROR-4002 - DEBUG - Hook: check_performance, elapsed: 0.0006330013275146484
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4002' 执行成功。[0m
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4002' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4006' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: InvalidEnumValueCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,054 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] Searching for a field with enum constraints...
|
||
2025-07-11 18:57:45,054 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No field with enum constraints found in any location.
|
||
2025-07-11 18:57:45,054 - testcase.TC-ERROR-4006 - INFO - [TC-ERROR-4006] No suitable enum field found for this endpoint.
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4006' (非法枚举值检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,054 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4006' 执行成功。[0m
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4006' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-BODY' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldBodyCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.utils.schema_utils - DEBUG - [Util] 递归查找路径: [], 当前层级必填字段: ['data'], 属性: ['version', 'data']
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 策略1: 在路径 root 找到可直接移除的必填字段: 'data'
|
||
2025-07-11 18:57:45,055 - testcase.TC-ERROR-4003-BODY - INFO - Found a removable field path in 'request body' schema: 'data'
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-BODY' (缺失必填请求体字段检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.utils.schema_utils - INFO - [Util] 从路径 'data' 成功移除字段 'data' (原值: '[{'description': 'example_string'}]')。
|
||
2025-07-11 18:57:45,055 - testcase.TC-ERROR-4003-BODY - INFO - 为进行必填字段缺失测试,已通过工具方法从请求体中移除字段路径 'data'。
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,055 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - [91m ❌ 测试用例 'TC-ERROR-4003-BODY' 执行失败。[0m
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-BODY' 执行完毕,状态: 失败
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备执行测试用例 'TC-ERROR-4003-QUERY' for 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - Successfully converted/retrieved global_api_spec (type: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>) to dict using .spec attribute.
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - global_spec_dict keys for $ref resolution: ['dms_api_list']
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - 开始为 endpoint_spec_dict (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas 进行 $ref 解析...
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 requestBody content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - 正在解析 responses '200' content 'application/json' 的 schema...
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - INFO - Endpoint spec (来自 <class 'ddms_compliance_suite.input_parser.parser.DMSEndpoint'>) 中的 schemas $ref 解析完成。
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备实例化测试用例类: MissingRequiredFieldQueryCase 使用 endpoint_spec (keys: ['method', 'path', 'title', 'summary', 'description', 'operationId', 'tags', 'parameters', 'requestBody', 'responses', '_source_format', '_dms_raw_record', '_test_mode', '_global_api_spec_for_resolution']) 和 global_api_spec (keys: ['dms_api_list'])
|
||
2025-07-11 18:57:45,056 - testcase.TC-ERROR-4003-QUERY - INFO - No required 'query' parameter found in endpoint_spec.
|
||
2025-07-11 18:57:45,056 - testcase.TC-ERROR-4003-QUERY - INFO - 测试用例 TC-ERROR-4003-QUERY (缺失必填查询参数检查) 已针对端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 初始化。Target param to remove: None
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试用例 'TC-ERROR-4003-QUERY' (缺失必填查询参数检查) for endpoint 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'delete_wb_dr_pro_daily_report': application/json
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body). Properties: ['version', 'data']
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 使用 schema 中的 'example' 值 for (context: delete_wb_dr_pro_daily_report_body.version): 1.0.0
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 array 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data). Items schema: {'type': 'object', 'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}}, 'required': ['description']}, minItems: 1
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 object 类型数据 for (context: delete_wb_dr_pro_daily_report_body.data[0]). Properties: ['description']
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - [delete_wb_dr_pro_daily_report] 生成 string 类型数据 ('') for (context: delete_wb_dr_pro_daily_report_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'delete_wb_dr_pro_daily_report' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - Path parameters to be substituted: {}
|
||
2025-07-11 18:57:45,056 - ddms_compliance_suite.test_orchestrator - DEBUG - URL after path parameter substitution (before TC modify_request_url hook): http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
2025-07-11 18:57:45,057 - testcase.TC-ERROR-4003-QUERY - INFO - 由于未识别到可移除的必填查询参数,跳过此测试用例。
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [92m ✅ 测试用例 'TC-ERROR-4003-QUERY' 执行成功。[0m
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - 测试用例 'TC-ERROR-4003-QUERY' 执行完毕,状态: 通过
|
||
2025-07-11 18:57:45,057 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,057 - root - INFO - strictness_level: TestSeverity.CRITICAL
|
||
2025-07-11 18:57:45,057 - root - INFO - relevant_failed_tcs: []
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 端点 'DELETE /api/dms/wb_dr/v1/wb_dr_pro_daily_report' 测试完成,最终状态: 通过
|
||
2025-07-11 18:57:45,057 - __main__ - INFO - 开始执行API测试阶段 (Stages),目录: ./custom_stages
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行API测试阶段 (Stages)...
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 发现了 1 个已定义的测试阶段: ['dms_crud_scenario_stage']
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - WARNING - 未知的解析规范类型: <class 'ddms_compliance_suite.input_parser.parser.ParsedDMSSpec'>。将阶段应用于整个规范 (api_group_name=None).
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 将针对 1 个API分组评估测试阶段: [None]
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 处理测试阶段定义: ID='dms_crud_scenario_stage', Name='DMS Full CRUD Scenario'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - 准备阶段 'dms_crud_scenario_stage' 的上下文,针对API分组: 'Global'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - For Global context, selected 10 endpoint objects.
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - 为阶段 'dms_crud_scenario_stage' 和分组 'Global' 实例化。API对象数量: 10. 元数据: {'name': 'Global (所有API)', 'description': '适用于规范中的所有API'}
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - 检查阶段 'dms_crud_scenario_stage' 是否适用于API分组 'Global'...
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Found complete CRUD scenario for DMS resource: 'lujing_test'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Found complete CRUD scenario for DMS resource: 'wb_dr_pro_daily_report'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'dms_crud_scenario_stage' 适用于API分组 'Global'。开始执行...
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - 开始执行测试阶段: ID='dms_crud_scenario_stage', Name='DMS Full CRUD Scenario', API分组='Global'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - 调用 stage 'dms_crud_scenario_stage' 的 before_stage 钩子。初始上下文: {}
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Setting up before_stage for scenario: ['create', 'list', 'read', 'update', 'delete']
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 开始执行.
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 调用 before_step 钩子. 上下文: {'pk_name': 'description', 'pk_value': 'b54b5f8c-01ac-49c2-a846-2bdb8454b087', 'current_payload': {'description': 'test-entry-from-scenario'}, 'update_payload': {'description': 'updated-test-entry-from-scenario'}, 'scenario_endpoints': {'create': <DMSEndpoint Method:POST Path:/api/dms/wb_ml/v1/lujing_test Title:'Create lujing_test' Mode:standalone>, 'list': <DMSEndpoint Method:POST Path:/api/dms/wb_ml/v1/lujing_test/1.0.0 Title:'List lujing_test' Mode:scenario_only>, 'read': <DMSEndpoint Method:GET Path:/api/dms/wb_ml/v1/lujing_test/1.0.0/{id} Title:'Read lujing_test' Mode:scenario_only>, 'update': <DMSEndpoint Method:PUT Path:/api/dms/wb_ml/v1/lujing_test Title:'Update lujing_test' Mode:scenario_only>, 'delete': <DMSEndpoint Method:DELETE Path:/api/dms/wb_ml/v1/lujing_test Title:'Delete lujing_test' Mode:scenario_only>}}
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - DEBUG - Executing before_step for step 'Step 1: Create Resource' in stage 'dms_crud_scenario_stage'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 查找端点定义. Key='CREATE', Group='None'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 已解析端点 'POST /api/dms/wb_ml/v1/lujing_test'. 准备请求数据.
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Content-Type for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial Accept header for 'create_lujing_test': application/json
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body). Properties: ['version', 'act', 'data']
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.version): 1.0.0
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 使用 schema 中的 'example' 值 for (context: create_lujing_test_body.act): 0
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 array 类型数据 for (context: create_lujing_test_body.data). Items schema: {'properties': {'description': {'description': '一个简单的描述字段', 'title': '描述', 'type': 'string'}, 'lujing_test_id': {'description': '主键 for lujing_test', 'title': '主键', 'type': 'string'}, 'record_count': {'maximum': 10000, 'minimum': 0, 'title': '记录数', 'type': 'integer'}, 'status': {'enum': ['active', 'inactive', 'archived'], 'title': '状态', 'type': 'string'}, 'update_date': {'format': 'date-time', 'title': '更新日期', 'type': 'string'}}, 'required': ['lujing_test_id', 'status'], 'title': '测试', 'type': 'object'}, minItems: 1
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 object 类型数据 for (context: create_lujing_test_body.data[0]). Properties: ['description', 'lujing_test_id', 'record_count', 'status', 'update_date']
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].description): example_string
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].lujing_test_id): example_string
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 number/integer 类型数据 for (context: create_lujing_test_body.data[0].record_count): 0
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('') for (context: create_lujing_test_body.data[0].status): active
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [create_lujing_test] 生成 string 类型数据 ('date-time') for (context: create_lujing_test_body.data[0].update_date): 2025-07-11T18:57:45.057534
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - Initial request body generated for 'create_lujing_test' (type: <class 'dict'>)
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 应用请求覆盖: {'body': {'data': ['{{stage_context.current_payload}}']}}
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - DEBUG - [阶段步骤 'Step 1: Create Resource'] 解析上下文路径: 'current_payload' 来自模板 '{{stage_context.current_payload}}'
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - [测试阶段步骤 'Step 1: Create Resource'] 从上下文解析到值 '{'description': 'test-entry-from-scenario'}...' (路径: 'current_payload')
|
||
2025-07-11 18:57:45,057 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 发送API请求: POST http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 收到响应. Status: 400. 验证中...
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 预期状态码为 [200, 201], 实际为 400.
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 执行断言 'validate_response_is_true'
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 断言 'validate_response_is_true' 失败: Expected response data to be true, but it was 'None'.
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 提取输出到上下文. Map: {}
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - DEBUG - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 调用 after_step 钩子.
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - DEBUG - Executing after_step for step 'Step 1: Create Resource' in stage 'dms_crud_scenario_stage'
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 执行完毕. 状态: 失败, 耗时: 0.00s
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - WARNING - Stage 'dms_crud_scenario_stage', Step 'Step 1: Create Resource': 状态为 失败 且 continue_on_failure=False. 中止测试阶段 'dms_crud_scenario_stage'.
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - DEBUG - 调用 stage 'dms_crud_scenario_stage' 的 after_stage 钩子. 当前阶段结果状态: 失败
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.stage_framework.DmsCrudScenarioStage - INFO - Finished scenario 1/2 for this group.
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - 测试阶段 'dms_crud_scenario_stage' (API分组: 'Global') 执行完毕. 最终状态: 失败, 耗时: 0.00s
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - API Test Stage execution processed. Considered 1 (stage_definition x api_group) combinations.
|
||
2025-07-11 18:57:45,058 - __main__ - INFO - API测试阶段 (Stages) 执行完毕。
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - -------------------- API Test Summary --------------------
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Start Time: 2025-07-11T18:57:44.878856
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - End Time: 2025-07-11T18:57:45.058583
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Total Duration: 0.18 seconds
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - --- Endpoints ---
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Total Endpoints Defined: 10
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Endpoints Tested: 10
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Passed: 8
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Failed: 2
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Error: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Skipped: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Partial Success: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Success Rate: 80.00%
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - --- Test Cases ---
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Total Test Cases Applicable: 200
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Total Test Cases Executed: 200
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Passed: 112
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Failed: 50
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Error: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Skipped (within endpoints): 38
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Success Rate: 56.00%
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - --- Stages ---
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Total Stages Defined: 1
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Total Stages Executed: 2
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Passed: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Failed: 2
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Error: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Skipped: 0
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - Success Rate: 0.00%
|
||
2025-07-11 18:57:45,058 - ddms_compliance_suite.test_orchestrator - INFO - --------------------------------------------------------
|
||
2025-07-11 18:57:45,062 - __main__ - INFO - 测试结果已保存为JSON: test_reports/2025-07-11_18-57-44/summary.json
|
||
2025-07-11 18:57:45,062 - __main__ - INFO - 开始生成PDF报告: test_reports/2025-07-11_18-57-44/report_cn.pdf
|
||
2025-07-11 18:57:45,197 - __main__ - INFO - PDF报告已成功生成: test_reports/2025-07-11_18-57-44/report_cn.pdf
|
||
2025-07-11 18:57:45,201 - __main__ - INFO - API调用详情已保存为 Markdown: test_reports/2025-07-11_18-57-44/api_call_details.md
|
||
2025-07-11 18:57:45,201 - __main__ - INFO - 部分测试失败或出错,请检查报告。
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 63' -d '{"version": 12345, "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 63\' -d \'{"version": 12345, "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 20' -d '{"version": "1.0.0"}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 20\' -d \'{"version": "1.0.0"}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 65' -d '{"version": "1.0.0", "data": [{"description": "example_string"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 65\' -d \'{"version": "1.0.0", "data": [{"description": "example_string"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_dr/v1/wb_dr_pro_daily_report'
|
||
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 'Content-Type: application/json' -H 'Content-Length: 55' -d '{"data": [{"description": "test-entry-from-scenario"}]}' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test
|
||
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 \'Content-Type: application/json\' -H \'Content-Length: 55\' -d \'{"data": [{"description": "test-entry-from-scenario"}]}\' --insecure http://127.0.0.1:5001/api/dms/wb_ml/v1/lujing_test'
|