2 Documentation Test suite to verify data types using RPCs
3 Suite Setup Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
4 Suite Teardown Delete All Sessions
5 Test Setup Set Suite Variable ${CURJSON} ${EMPTY}
6 Test Template Check Datatype
7 Test Teardown Remove Datatype And Check Removal
9 Library OperatingSystem
10 Library RequestsLibrary
11 Library ../../../libraries/Common.py
12 Variables ../../../variables/Variables.py
13 Resource ../../../libraries/Utils.robot
16 ${RPC_URL_PREFIX} /restconf/operations/mappingservice
17 ${IPV4_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_ipv4.json
18 ${IPV4_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_ipv4.json
19 ${IPV6_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv6_ipv4.json
20 ${IPV6_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_ipv6.json
21 ${MAC_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_mac_ipv4.json
22 ${MAC_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_mac.json
23 ${DN_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_dn_ipv4.json
24 ${DN_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_dn.json
25 ${AS_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_as_ipv4.json
26 ${AS_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_as.json
27 ${IID_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_iid_ipv4.json
28 ${IID_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_iid.json
29 ${SD_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_srcdst_ipv4.json
30 ${SD_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_srcdst.json
31 ${KV_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_kv_ipv4.json
32 ${KV_RD} ${CURDIR}/../../../variables/lispflowmapping/rpc_get-remove_kv.json
33 ${LST_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_list.json
34 ${APP_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_appdata.json
35 ${ELP_C_MAP} ${CURDIR}/../../../variables/lispflowmapping/rpc_add-mapping_ipv4_elp.json
39 [Documentation] Perform mapping operations with an IPv4 EID
40 ${IPV4_C_MAP} ${IPV4_RD}
43 [Documentation] Perform mapping operations with an IPv6 EID
44 ${IPV6_C_MAP} ${IPV6_RD}
47 [Documentation] Perform mapping operations with a MAC address EID
48 ${MAC_C_MAP} ${MAC_RD}
51 [Documentation] Perform mapping operations with a Distinguished Name EID
55 [Documentation] Perform mapping operations with an Autonomous System Number EID
59 [Documentation] Perform mapping operations with an IPv4 EID in Instance ID 1
60 ${IID_C_MAP} ${IID_RD}
63 [Documentation] Perform mapping operations with a Source/Destination EID
67 [Documentation] Perform mapping operations with a Key/Value EID
71 [Documentation] Perform mapping operations with an IPv4 EID mapped to an AFI List RLOC
72 ${LST_C_MAP} ${IPV4_RD}
75 [Documentation] Perform mapping operations with an IPv4 EID mapped to an Application Data RLOC
76 ${APP_C_MAP} ${IPV4_RD}
79 [Documentation] Perform mapping operations with an IPv4 EID mapped to an ELP RLOC
80 ${ELP_C_MAP} ${IPV4_RD}
84 [Arguments] ${add_mapping_json_file} ${get_mapping_json_file}
85 [Documentation] Perform CRD operations using a specific datatype
86 ${add_mapping}= OperatingSystem.Get File ${add_mapping_json_file}
87 ${get_mapping}= OperatingSystem.Get File ${get_mapping_json_file}
88 Set Suite Variable ${CURJSON} ${get_mapping}
89 Post Log Check ${RPC_URL_PREFIX}:add-mapping ${add_mapping}
90 Sleep 200ms Avoid race conditions
91 ${resp}= Post Log Check ${RPC_URL_PREFIX}:get-mapping ${get_mapping}
92 ${output}= Get From Dictionary ${resp.json()} output
93 ${eid_record}= Get From Dictionary ${output} eidToLocatorRecord
94 ${eid_record_0}= Get From List ${eid_record} 0
95 Dictionary Should Contain Key ${eid_record_0} LocatorRecord
97 Remove Datatype And Check Removal
98 Variable Should Exist ${CURJSON}
99 Post Log Check ${RPC_URL_PREFIX}:remove-mapping ${CURJSON}
100 Sleep 200ms Avoid race conditions
101 ${resp}= Post Log Check ${RPC_URL_PREFIX}:get-mapping ${CURJSON}
102 ${output}= Get From Dictionary ${resp.json()} output
103 ${eid_record}= Get From Dictionary ${output} eidToLocatorRecord
104 ${eid_record_0}= Get From List ${eid_record} 0
105 Dictionary Should Not Contain Key ${eid_record_0} LocatorRecord
106 Set Suite Variable ${CURJSON} ${EMPTY}
109 [Arguments] ${uri} ${body} ${status_code}=200
110 [Documentation] Post body to uri, log response content, and check status
111 ${resp}= RequestsLibrary.Post session ${uri} ${body}
113 Should Be Equal As Strings ${resp.status_code} ${status_code}