summaryrefslogtreecommitdiffstats
path: root/tests/holmes/testcase/RuleMgt/Rule-Mgt.robot
diff options
context:
space:
mode:
Diffstat (limited to 'tests/holmes/testcase/RuleMgt/Rule-Mgt.robot')
-rw-r--r--tests/holmes/testcase/RuleMgt/Rule-Mgt.robot127
1 files changed, 127 insertions, 0 deletions
diff --git a/tests/holmes/testcase/RuleMgt/Rule-Mgt.robot b/tests/holmes/testcase/RuleMgt/Rule-Mgt.robot
new file mode 100644
index 00000000..55e57ecd
--- /dev/null
+++ b/tests/holmes/testcase/RuleMgt/Rule-Mgt.robot
@@ -0,0 +1,127 @@
+*** Settings ***
+Suite Setup
+Suite Teardown Delete All Sessions
+Test Timeout
+Library demjson
+Resource Rule-Keywords.robot
+
+*** Test Cases ***
+add_valid_rule
+ [Documentation] Add a valid rule.
+ ${dict2} create dictionary ruleName=youbowu0314 description=create a new rule! content=package ruleqwertasd;\n\nimport java.util.Locale; enabled=1 loopControlName=closedControlLoop
+ ${jsonParams} encode ${dict2}
+ ${response} createRule ${jsonParams}
+ ${respJson} to json ${response.content}
+ ${RULEID} get from dictionary ${respJson} ruleId
+ set global variable ${RULEID}
+ log ${RULEID}
+
+add_invalid_content_rule
+ [Documentation] Add an invalid rule of which the content is incorrect!!
+ ${dict1} create dictionary ruleName=gy0307001 description=create a new rule! content=123123123 enabled=1
+ ${jsonParams} encode ${dict1}
+ ${response} createRule ${jsonParams} -1
+ log ${response.content}
+
+add_deficient_rule
+ [Documentation] Add an invalid rule of which some mandatory fields are missing.(rulename)
+ ${dict3} create dictionary description=create a valid rule! content=package rule2017 enabled=1
+ ${jsonParams} encode ${dict3}
+ ${response} createRule ${jsonParams} -1
+
+query_rule_with_existing_id
+ [Documentation] Query a rule with an existing ID.
+ should not be empty ${RULEID}
+ ${response} queryConditionRule {"ruleid":"${RULEID}"}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=1 fail Can't find the rule with the specified ruleid.
+
+query_rule_with_non_existing_id
+ [Documentation] Query a rule with a non-existing ID.
+ ${response} queryConditionRule {"ruleId":"invalidid"}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=0 fail
+
+query_rule_with_partial_existing_name
+ [Documentation] Query rules with (a part of) an existing name.
+ ${response} queryConditionRule {"ruleName":"youbowu"}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}<1 fail Can't find the rule with (a part of) an existing name
+
+query_rule_with_partial_non_existing_name
+ [Documentation] Query rules with (a part of) a non-existing name.
+ ${response} queryConditionRule {"ruleName":"zte2017"}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=0 fail
+
+query_rule_with_vaild_status
+ [Documentation] Query rules with a valid status.
+ ${response} queryConditionRule {"enabled":1}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}<0 fail Can't find the rule with the status valued 1.
+
+query_rule_with_invalid_status
+ [Documentation] Query rules with an invalid status.
+ ${response} queryConditionRule {"enabled":99}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=0 fail
+
+query_rule_with_empty_status
+ [Documentation] Query rules with the status left empty.
+ ${response} queryConditionRule {"enabled":null}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=0 fail
+
+query_rule_with_combinational_fields
+ [Documentation] Query rules using the combination of different fields.
+ ${dic} create dictionary ruleName=youbowu0314 enabled=1
+ ${paramJson} encode ${dic}
+ ${response} queryConditionRule ${paramJson}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}<1 fail Can't find the rules with the combination of different fields. ELSE traversalRuleAttribute ${respJson}
+ ... ${dic}
+
+modify_rule_with_status
+ [Documentation] modify the rule with a valid status.
+ ${dic} create dictionary ruleId=${RULEID} enabled=0 content=package rule03140002 loopControlName=closedControlLoop
+ ${modifyParam} encode ${dic}
+ ${modifyResp} modifyRule ${modifyParam}
+ ${response} queryConditionRule {"ruleId":"${RULEID}"}
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=1 fail query rule fails! (can't find the rule modified!) ELSE traversalRuleAttribute ${respJson}
+ ... ${dic}
+
+modify_rule_with_invalid_status
+ [Documentation] modify the rule with an invalid status.
+ ${dic} create dictionary ruleId=${RULEID} enabled=88 content=package rule03140002
+ ${modifyParam} encode ${dic}
+ ${modifyResponse} modifyRule ${modifyParam} -1
+
+modify_rule_with_description
+ [Documentation] modify the description of the rule with the new string.
+ ${dic} create dictionary ruleId=${RULEID} description=now, i modifying the description of the rule. content=package rule03140002 loopControlName=closedControlLoop
+ ${modifyParam} encode ${dic}
+ ${modifyResp} modifyRule ${modifyParam}
+ ${response} queryConditionRule {"ruleId":'${RULEID}'} 1
+ ${respJson} to json ${response.content}
+ ${count} get from dictionary ${respJson} totalCount
+ run keyword if ${count}!=1 fail query rule fails! ELSE traversalRuleAttribute ${respJson}
+ ... ${dic}
+
+delete_existing_rule
+ [Documentation] Delete an existing rule.
+ should not be empty ${RULEID}
+ deleteRule ${RULEID}
+
+delete_non_existing_rule
+ [Documentation] Delete a non-existing rule.
+ deleteRule ${RULEID} -1