| *** Settings *** |
| Library RequestsLibrary |
| Library Collections |
| Resource RuleAddr.robot |
| Resource ../CommonKeywords/HttpRequest.robot |
| |
| *** Keywords *** |
| prepareRules |
| ${rule1} create dictionary rulename=ying001 content=package rule0001 enabled=1 description=this is first description |
| ${rule2} create dictionary rulename=ying002 content=package rule0002 enabled=0 description=this is seconddescription |
| ${rule3} create dictionary rulename=ying003 content=package rule0003 enabled=1 description=this is third description |
| @{rulesList} create list ${rule1} ${rule2} ${rule3} |
| : FOR ${row} IN @{rulesList} |
| \ ${rulejson} encode ${row} |
| \ log ${rulejson} |
| \ createRule ${rulejson} |
| |
| ruleMgtSuiteVariable |
| ${RULEDIC} create dictionary rulename=gy2017001 description=create a new rule! content=package rule2017001 enabled=1 |
| set suite variable ${RULEDIC} |
| |
| queryConditionRule |
| [Arguments] ${queryParam} ${codeFlag}=1 |
| [Documentation] ${queryParam} : The data type is Json . |
| create session microservices ${ruleMgtHost} |
| Comment ${param} set variable queryrequest\=${queryParam} |
| ${getResponse} get request microservices ${ruleMgtUrl}?queryrequest\=${queryParam} |
| log ${getResponse.content} |
| run keyword if ${codeFlag}==1 Should be equal as strings ${getResponse.status_code} 200 |
| run keyword if ${codeFlag}!=1 Should be equal as strings ${getResponse.status_code} 499 |
| [Return] ${getResponse} |
| |
| traversalRuleAttribute |
| [Arguments] ${responseJsonData} ${expectAttrDic} |
| [Documentation] ${expectAttrDic} : The data type is dictionary; |
| ... key is the name of the attribute, value is the expected value of the attribute. |
| @{responseRules} Get From Dictionary ${responseJsonData} correlationRules |
| : FOR ${rule} IN @{responseRules} |
| \ log ${rule} |
| \ verifyRuleAttribute ${rule} ${expectAttrDic} |
| |
| verifyRuleAttribute |
| [Arguments] ${singleRule} ${expectAttrDic} |
| [Documentation] ${expectAttrDic} : The data type is dictionary; key is the name of the attributes to be traversaled, value is the expected value of the attributes. |
| log ${singleRule} |
| log ${expectAttrDic} |
| @{attrsKeys} get dictionary keys ${expectAttrDic} |
| : FOR ${attr} IN @{attrsKeys} |
| \ log ${attr} |
| \ ${actualResponse} get from dictionary ${singleRule} ${attr} |
| \ ${expectResponse} get from dictionary ${expectAttrDic} ${attr} |
| \ Comment log ${actualResponse} |
| \ Comment log ${expectResponse} |
| Should be equal as strings ${actualResponse} ${expectResponse} |
| |
| createRule |
| [Arguments] ${jsonParams} ${codeFlag}=1 |
| [Documentation] ${codeFlag} : The data type is string, defult value is 1, indicating that the case need to assert thatthe statues code is 200. |
| ... Then other values indicating that the case need to assert that the statues code is 499. |
| ${response} httpPut ${ruleMgtHost} ${ruleMgtUrl} ${jsonParams} |
| log ${response.content} |
| run keyword if ${codeFlag}==1 Should be equal as strings ${response.status_code} 200 |
| run keyword if ${codeFlag}!=1 Should be equal as strings ${response.status_code} 499 |
| [Return] ${response} |
| |
| modifyRule |
| [Arguments] ${jsonParams} ${codeFlag}=1 |
| ${response} httpPost ${ruleMgtHost} ${ruleMgtUrl} ${jsonParams} |
| log ${response.content} |
| run keyword if ${codeFlag}==1 Should be equal as strings ${response.status_code} 200 |
| run keyword if ${codeFlag}!=1 Should be equal as strings ${response.status_code} 499 |
| [Return] ${response} |
| |
| deleteRule |
| [Arguments] ${ruleId} ${codeFlag}=1 |
| ${response} httpDelete ${ruleMgtHost} ${ruleMgtUrl}/${ruleId} |
| log ${response.content} |
| run keyword if ${codeFlag}==1 Should be equal as strings ${response.status_code} 200 |
| run keyword if ${codeFlag}!=1 Should be equal as strings ${response.status_code} 499 |
| [Return] ${response} |