BGP application peer performance suite
[integration/test.git] / csit / suites / lispflowmapping / basic / 030_RPC_Datatypes.robot
index 8b7dc463f1839da2b44b6b0fec9f18fc9365260d..afbaa41d9d39f86cc949d6c2c368b3ec91fa6961 100644 (file)
@@ -1,38 +1,38 @@
 *** Settings ***
 Documentation     Test suite to verify data types using RPCs
-Suite Setup       Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Setup       Create Session And Set External Variables
 Suite Teardown    Delete All Sessions
-Test Setup        Set Suite Variable    ${CURJSON}    ${EMPTY}
-Test Template     Check Datatype
+Test Setup        Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}
 Test Teardown     Remove Datatype And Check Removal
+Test Template     Check Datatype
 Library           Collections
 Library           OperatingSystem
 Library           RequestsLibrary
 Library           ../../../libraries/Common.py
 Variables         ../../../variables/Variables.py
+Resource          ../../../libraries/LISPFlowMapping.robot
 Resource          ../../../libraries/Utils.robot
 
 *** Variables ***
-${RPC_URL_PREFIX}    /restconf/operations/mappingservice
-${IPV4_C_MAP}     ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_ipv4.json
-${IPV4_RD}        ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_ipv4.json
-${IPV6_C_MAP}     ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv6_ipv4.json
-${IPV6_RD}        ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_ipv6.json
-${MAC_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_mac_ipv4.json
-${MAC_RD}         ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_mac.json
-${DN_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_dn_ipv4.json
-${DN_RD}          ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_dn.json
-${AS_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_as_ipv4.json
-${AS_RD}          ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_as.json
-${IID_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_iid_ipv4.json
-${IID_RD}         ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_iid.json
-${SD_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_srcdst_ipv4.json
-${SD_RD}          ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_srcdst.json
-${KV_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_kv_ipv4.json
-${KV_RD}          ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_kv.json
-${LST_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_list.json
-${APP_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_appdata.json
-${ELP_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_elp.json
+${IPV4_C_MAP}     ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_ipv4_ipv4.json
+${IPV4_RD}        ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_ipv4.json
+${IPV6_C_MAP}     ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_ipv6_ipv4.json
+${IPV6_RD}        ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_ipv6.json
+${MAC_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_mac_ipv4.json
+${MAC_RD}         ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_mac.json
+${DN_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_dn_ipv4.json
+${DN_RD}          ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_dn.json
+${AS_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_as_ipv4.json
+${AS_RD}          ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_as.json
+${IID_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_iid_ipv4.json
+${IID_RD}         ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_iid.json
+${SD_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_srcdst_ipv4.json
+${SD_RD}          ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_srcdst.json
+${KV_C_MAP}       ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_kv_ipv4.json
+${KV_RD}          ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_get-remove_kv.json
+${LST_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_ipv4_list.json
+${APP_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_ipv4_appdata.json
+${ELP_C_MAP}      ${CURDIR}/../../../variables/lispflowmapping/${ODL_VERSION}/rpc_add-mapping_ipv4_elp.json
 
 *** Test Cases ***
 IPv4 Prefix
@@ -85,30 +85,16 @@ Check Datatype
     [Documentation]    Perform CRD operations using a specific datatype
     ${add_mapping}=    OperatingSystem.Get File    ${add_mapping_json_file}
     ${get_mapping}=    OperatingSystem.Get File    ${get_mapping_json_file}
-    Set Suite Variable    ${CURJSON}    ${get_mapping}
-    Post Log Check    ${RPC_URL_PREFIX}:add-mapping    ${add_mapping}
+    Set Suite Variable    ${RPC_Datatype__current_json}    ${get_mapping}
+    Post Log Check    ${LFM_RPC_API}:add-mapping    ${add_mapping}
     Sleep    200ms    Avoid race conditions
-    ${resp}=    Post Log Check    ${RPC_URL_PREFIX}:get-mapping    ${get_mapping}
-    ${output}=    Get From Dictionary    ${resp.json()}    output
-    ${eid_record}=    Get From Dictionary    ${output}    eidToLocatorRecord
-    ${eid_record_0}=    Get From List    ${eid_record}    0
-    Dictionary Should Contain Key    ${eid_record_0}    LocatorRecord
+    ${resp}=    Post Log Check    ${LFM_RPC_API}:get-mapping    ${get_mapping}
+    ${eid_record}=    Get Eid Record    ${resp}
+    Dictionary Should Contain Key    ${eid_record}    LocatorRecord
 
 Remove Datatype And Check Removal
-    Variable Should Exist    ${CURJSON}
-    Post Log Check    ${RPC_URL_PREFIX}:remove-mapping    ${CURJSON}
+    Variable Should Exist    ${RPC_Datatype__current_json}
+    Post Log Check    ${LFM_RPC_API}:remove-mapping    ${RPC_Datatype__current_json}
     Sleep    200ms    Avoid race conditions
-    ${resp}=    Post Log Check    ${RPC_URL_PREFIX}:get-mapping    ${CURJSON}
-    ${output}=    Get From Dictionary    ${resp.json()}    output
-    ${eid_record}=    Get From Dictionary    ${output}    eidToLocatorRecord
-    ${eid_record_0}=    Get From List    ${eid_record}    0
-    Dictionary Should Not Contain Key    ${eid_record_0}    LocatorRecord
-    Set Suite Variable    ${CURJSON}    ${EMPTY}
-
-Post Log Check
-    [Arguments]    ${uri}    ${body}    ${status_code}=200
-    [Documentation]    Post body to uri, log response content, and check status
-    ${resp}=    RequestsLibrary.Post    session    ${uri}    ${body}
-    Log    ${resp.content}
-    Should Be Equal As Strings    ${resp.status_code}    ${status_code}
-    [Return]    ${resp}
+    Check Mapping Removal    ${RPC_Datatype__current_json}
+    Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}