api1: title: 新建规则 url: /api/v1/rule/updateRuleDefine method: post data: {"ruleName":"${rule_name}","ruleLogic":"${rule_data}","brandId":"${brandId}","status":1,"tplId":"${rule_parent_template_id}","eventId":"${event_id}","v":"${v}"} before_sql: automation/rule/rule_template_select.py set_value: {"create_rule_id": "$.data.ruleId"} expected: - eq: {"$.code": 0} api2: title: 检查是否创建成功 url: /api/v1/rule/ruleList method: post data: {"page":1,"pageSize":100,"brandId":"${brandId}","tplId":"${rule_parent_template_id}","v":"${v}"} before_sql: automation/rule/rule_select.py expected: - eq: {"$.code": 0} - eq: {"$.data.total": "${rule_num}"} - eq: {"$.data.ruleList[?(@.ruleId == '${select_rule_id}')].ruleName": "${select_rule_name}"} - eq: {"$.data.ruleList[?(@.ruleId == '${select_rule_id}')].sorts": "${select_rule_sort}"} - eq: {"$.data.ruleList[?(@.ruleId == '${select_rule_id}')].status": "${select_rule_status}"} - in_list: {"$.data.ruleList[*].ruleId": "${create_rule_id}"} - eq: {"$.data.ruleList[?(@.ruleId == '${create_rule_id}')].ruleName": "${rule_name}"} api3: title: 更新rule url: /api/v1/rule/updateRuleDefine method: post data: {"tplId":"${rule_parent_template_id}","ruleName":"${new_rule_name}","ruleDescribe":"","ruleId":"${create_rule_id}","status":"${rule_status}","brandId":"${brandId}","eventId":"${event_id}","childRule":0,"ruleType":"Triggers","ruleLogic":"${rule_data}","v":"${v}"} expected: - eq: {"$.code": 0} api4: title: 检查是否更新成功 url: /api/v1/rule/ruleList method: post data: {"page":1,"pageSize":100,"brandId":"${brandId}","tplId":"${rule_parent_template_id}","v":"${v}"} expected: - eq: {"$.code": 0} - eq: {"$.data.ruleList[?(@.ruleId == '${create_rule_id}')].ruleName": "${new_rule_name}"} api5: title: b端获取房间号 url: /api/v1/chat/local/roomList method: post data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"","v":"${v}"} set_value: {"roomId": "$.data.list[?(@.fromID == '${customerId}')].roomId"} expected: - eq: {"$.code" : 0} api6: title: c端主动发起会话触发rule ws: customer action: sendmsg data: type: text api7: title: 检查是否触发rule - close url: /api/v1/chat/local/roomList method: post data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":3,"page":1,"pageSize":20,"sortName":"all","keyword":"","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} expected: - eq: {"$.code": 0} - not_in_list: {"$.data.list[*].roomId": "${roomId}"} api8: title: 开启rule url: /api/v1/rule/updateRuleStatus method: post data: {"status": 1,"ruleId": "${create_rule_id}","v": "${v}"} expected: - eq: {"$.code": 0} api9: title: c端主动发起会话触发rule ws: customer action: sendmsg data: type: text api10: title: 检查是否触发rule - open url: /api/v1/chat/local/roomList method: post data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":3,"page":1,"pageSize":100,"sortName":"all","keyword":"","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} expected: - eq: {"$.code": 0} - in_list: {"$.data.list[*].roomId": "${roomId}"} api11: title: 关闭rule url: /api/v1/rule/updateRuleStatus method: post data: {"status":2,"ruleId":"${create_rule_id}","v":"${v}"} expected: - eq: {"$.code": 0} api12: title: 删除rule url: /api/v1/rule/updateRuleStatus method: post data: {"status":3,"ruleId":"${create_rule_id}","v": "${v}"} expected: - eq: {"$.code": 0} api13: title: 检查是否删除成功 url: /api/v1/rule/ruleList method: post data: {"page":1,"pageSize":100,"brandId":"${brandId}","tplId":"${rule_parent_template_id}","v":"${v}"} expected: - eq: {"$.code": 0} - eq: {"$.data.total": "${rule_num_less}"} - not_in_list: {"$.data.ruleList[*].ruleId": "${create_rule_id}"} api14: title: 重新打开会话 url: /api/v1/chatRoom/operate method: post data: {"uid": "${userId}","uType": 2,"platform": 1,"roomId": "${roomId}","clientId": "${willdesk_clientId}","event": "open","username": "${name}","isMark": false,"allocationUid": "${userId}","v": "${v}" } expected: - eq: {"$.code": 0} api15: title: 检查rule的object url: /api/v1/rule/ruleTemplate method: post data: {"tplId":"${rule_parent_template_id}","v":"${v}"} before_sql: automation/rule/rule_object_select.py expected: - eq: {"$.code": 0} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].objName": "${rule_name}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].objDescribe": "${rule_describe}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].objKind": "${rule_kind}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].objType": "${rule_type}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].objCategory": "${rule_category}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].parentRobId": "${rule_parent_rob_id}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].showKind": "${rule_show_kind}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].showType": "${rule_show_type}"} - eq: {"$.data.objList[?(@.robId == '${rule_id}')].valueFrom": "${rule_value_from}"} - exec: {"code": "assert len(res.json()['data']['objList']) == ${rule_num}"}