Use RFC8040 URL for JSON-RPC tests
[integration/test.git] / csit / libraries / LISPFlowMapping.robot
index 568527508a3e909f0c57c4cca169a1509d69bdbe..1eee8412b95350b8c14c0ca0a917dbf00b15f21b 100644 (file)
@@ -3,6 +3,7 @@ Documentation     This resource file defines keywords that are used in more
 ...               than one lispflowmapping test suite. Those suites include
 ...               ../variables/Variables.py, which is where some of the
 ...               variables are coming from.
+Library           JsonGenerator.py
 
 *** Variables ***
 ${JSON_DIR}       ${CURDIR}/../variables/lispflowmapping/Be
@@ -51,6 +52,39 @@ Get Elp Hop
     ${hop}=    Get From List    ${exp_loc_path}    ${actual_hop_index}
     [Return]    ${hop}
 
+Check Key Removal
+    [Arguments]    ${json}
+    Post Log Check    ${LFM_RPC_API}:get-key    ${json}    status_codes=${DELETED_STATUS_CODES}
+
 Check Mapping Removal
     [Arguments]    ${json}
-    Post Log Check    ${LFM_RPC_API}:get-mapping    ${json}    404
+    Post Log Check    ${LFM_RPC_API}:get-mapping    ${json}    status_codes=${DELETED_STATUS_CODES}
+
+Get Mapping JSON
+    [Arguments]    ${eid}    ${rloc}
+    [Documentation]    Returns mapping record JSON dict
+    ${loc_record}=    Get LocatorRecord Object    ${rloc}
+    ${lisp_address}=    Get LispAddress Object    ${eid}
+    ${loc_record_list}=    Create List    ${loc_record}
+    ${mapping_record_json}=    Get MappingRecord JSON    ${lisp_address}    ${loc_record_list}
+    ${mapping}=    Wrap input    ${mapping_record_json}
+    [Return]    ${mapping}
+
+Post Log Check Authkey
+    [Arguments]    ${json}    ${password}
+    [Documentation]    Extend the 'Post Log Check' keyword to check for the correct authentication key
+    ${resp}=    Post Log Check    ${LFM_RPC_API}:get-key    ${json}
+    Authentication Key Should Be    ${resp}    ${password}
+
+Post Log Check Ipv4 Rloc
+    [Arguments]    ${json}    ${rloc}
+    [Documentation]    Extend the 'Post Log Check' keyword to check for the correct IPv4 RLOC
+    ${resp}=    Post Log Check    ${LFM_RPC_API}:get-mapping    ${json}
+    Ipv4 Rloc Should Be    ${resp}    ${rloc}
+
+Post Log Check LocatorRecord
+    [Arguments]    ${json}
+    [Documentation]    Extend the 'Post Log Check' keyword to check for the existence of a LocatorRecord
+    ${resp}=    Post Log Check    ${LFM_RPC_API}:get-mapping    ${json}
+    ${eid_record}=    Get Eid Record    ${resp}
+    Dictionary Should Contain Key    ${eid_record}    LocatorRecord