fix:dms api
This commit is contained in:
parent
a9ca927ba8
commit
ad5f3b2c52
@ -377,7 +377,7 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.warning(f"LLM数据生成失败: {e},回退到传统数据生成")
|
self.logger.warning(f"LLM数据生成失败: {e},回退到传统数据生成")
|
||||||
# 回退到传统数据生成
|
# 回退到传统数据生成
|
||||||
data_generator = DataGenerator(logger_param=self.logger)
|
data_generator = DataGenerator(logger_param=self.logger, well_data_manager=getattr(self.orchestrator, 'well_data_manager', None))
|
||||||
generated_data = data_generator.generate_data_from_schema(create_schema, context_name="create_payload", llm_service=self.llm_service)
|
generated_data = data_generator.generate_data_from_schema(create_schema, context_name="create_payload", llm_service=self.llm_service)
|
||||||
if isinstance(generated_data, dict) and 'data' in generated_data and isinstance(generated_data['data'], list) and len(generated_data['data']) > 0:
|
if isinstance(generated_data, dict) and 'data' in generated_data and isinstance(generated_data['data'], list) and len(generated_data['data']) > 0:
|
||||||
# 设置所有主键字段
|
# 设置所有主键字段
|
||||||
@ -392,7 +392,7 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
else:
|
else:
|
||||||
# 使用传统数据生成器(但仍然传递LLM服务以便在内部尝试使用)
|
# 使用传统数据生成器(但仍然传递LLM服务以便在内部尝试使用)
|
||||||
self.logger.info("LLM服务不可用,使用传统数据生成器")
|
self.logger.info("LLM服务不可用,使用传统数据生成器")
|
||||||
data_generator = DataGenerator(logger_param=self.logger)
|
data_generator = DataGenerator(logger_param=self.logger, well_data_manager=getattr(self.orchestrator, 'well_data_manager', None))
|
||||||
generated_data = data_generator.generate_data_from_schema(create_schema, context_name="create_payload", llm_service=None)
|
generated_data = data_generator.generate_data_from_schema(create_schema, context_name="create_payload", llm_service=None)
|
||||||
if isinstance(generated_data, dict) and 'data' in generated_data and isinstance(generated_data['data'], list) and len(generated_data['data']) > 0:
|
if isinstance(generated_data, dict) and 'data' in generated_data and isinstance(generated_data['data'], list) and len(generated_data['data']) > 0:
|
||||||
# 设置所有主键字段
|
# 设置所有主键字段
|
||||||
@ -474,8 +474,12 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
name="Step 1: Create Resource",
|
name="Step 1: Create Resource",
|
||||||
endpoint_spec_lookup_key="CREATE",
|
endpoint_spec_lookup_key="CREATE",
|
||||||
request_overrides={
|
request_overrides={
|
||||||
# We assume the body is an array under 'data' key
|
# DMS标准格式:包含version、act和data字段
|
||||||
"body": {"data": ["{{stage_context.current_payload}}"]}
|
"body": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"act": -1,
|
||||||
|
"data": ["{{stage_context.current_payload}}"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
response_assertions=[validate_response_is_true],
|
response_assertions=[validate_response_is_true],
|
||||||
outputs_to_context={}
|
outputs_to_context={}
|
||||||
@ -493,7 +497,12 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
name="Step 3: Update Resource",
|
name="Step 3: Update Resource",
|
||||||
endpoint_spec_lookup_key="UPDATE",
|
endpoint_spec_lookup_key="UPDATE",
|
||||||
request_overrides={
|
request_overrides={
|
||||||
"body": {"data": ["{{stage_context.update_payload}}"]},
|
# DMS标准格式:包含version、act和data字段
|
||||||
|
"body": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"act": -1,
|
||||||
|
"data": ["{{stage_context.update_payload}}"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
response_assertions=[validate_response_is_true]
|
response_assertions=[validate_response_is_true]
|
||||||
),
|
),
|
||||||
@ -669,6 +678,7 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
# 构建LIST请求体,使用固定的简化模式
|
# 构建LIST请求体,使用固定的简化模式
|
||||||
if filter_key and filter_value:
|
if filter_key and filter_value:
|
||||||
list_payload = {
|
list_payload = {
|
||||||
|
"version": "1.0.0",
|
||||||
"isSearchCount": True,
|
"isSearchCount": True,
|
||||||
"query": {
|
"query": {
|
||||||
"fields": [],
|
"fields": [],
|
||||||
@ -691,6 +701,7 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
else:
|
else:
|
||||||
# 没有可用的过滤条件,返回基本查询
|
# 没有可用的过滤条件,返回基本查询
|
||||||
list_payload = {
|
list_payload = {
|
||||||
|
"version": "1.0.0",
|
||||||
"isSearchCount": True,
|
"isSearchCount": True,
|
||||||
"query": {
|
"query": {
|
||||||
"fields": [],
|
"fields": [],
|
||||||
@ -712,14 +723,14 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
if not delete_op or not isinstance(delete_op, DMSEndpoint):
|
if not delete_op or not isinstance(delete_op, DMSEndpoint):
|
||||||
# 回退到简单的主键值列表
|
# 回退到简单的主键值列表
|
||||||
self.logger.warning("无法获取删除操作信息,使用简单主键值列表")
|
self.logger.warning("无法获取删除操作信息,使用简单主键值列表")
|
||||||
return {"data": [pk_value]}
|
return {"version": "1.0.0", "data": [pk_value]}
|
||||||
|
|
||||||
# 获取identityId列表
|
# 获取identityId列表
|
||||||
identity_id_list = getattr(delete_op, 'identity_id_list', [])
|
identity_id_list = getattr(delete_op, 'identity_id_list', [])
|
||||||
|
|
||||||
if not identity_id_list:
|
if not identity_id_list:
|
||||||
self.logger.warning("删除操作没有identityId信息,使用简单主键值列表")
|
self.logger.warning("删除操作没有identityId信息,使用简单主键值列表")
|
||||||
return {"data": [pk_value]}
|
return {"version": "1.0.0", "data": [pk_value]}
|
||||||
|
|
||||||
# 根据identityId列表长度判断删除格式
|
# 根据identityId列表长度判断删除格式
|
||||||
if len(identity_id_list) > 1:
|
if len(identity_id_list) > 1:
|
||||||
@ -729,7 +740,7 @@ class DmsCrudScenarioStage(BaseAPIStage):
|
|||||||
else:
|
else:
|
||||||
# 单主键:使用字符串列表
|
# 单主键:使用字符串列表
|
||||||
self.logger.info(f"检测到单主键删除操作,主键字段: {identity_id_list[0]}")
|
self.logger.info(f"检测到单主键删除操作,主键字段: {identity_id_list[0]}")
|
||||||
return {"data": [pk_value]}
|
return {"version": "1.0.0", "data": [pk_value]}
|
||||||
|
|
||||||
def _build_multi_key_delete_body(self, identity_id_list: List[str], primary_pk_name: str, primary_pk_value: str, create_payload: Dict[str, Any]) -> Dict[str, Any]:
|
def _build_multi_key_delete_body(self, identity_id_list: List[str], primary_pk_name: str, primary_pk_value: str, create_payload: Dict[str, Any]) -> Dict[str, Any]:
|
||||||
"""构建多主键的删除请求体"""
|
"""构建多主键的删除请求体"""
|
||||||
|
|||||||
11486
summary(10).json
Normal file
11486
summary(10).json
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user