CSIT-125: Add test for lisp remote static mapping
[csit.git] / resources / libraries / robot / lisp / lisp_api.robot
diff --git a/resources/libraries/robot/lisp/lisp_api.robot b/resources/libraries/robot/lisp/lisp_api.robot
new file mode 100644 (file)
index 0000000..43471a9
--- /dev/null
@@ -0,0 +1,348 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+*** Settings ***
+| Resource | resources/libraries/robot/interfaces.robot
+| Library  | resources.libraries.python.NodePath
+| Library  | resources.libraries.python.LispSetup.LispSetup
+| Library  | resources.libraries.python.LispUtil
+
+*** Keywords ***
+
+| Lisp locator_set data is prepared
+| | [Documentation] | Generate lisp locator_set data for test
+| | ...             | the lisp locator_set and locator API.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - ${locator_set_number} - Number how many locator_set data
+| | ... |                           will be generated. Type: integer
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW sets following test case variables:
+| | ... | - ${locator_set_values} - New generated locator_set data.
+| | ...
+| | ... | *Example:*
+| | ... | \| Given Lisp locator_set data is prepared \| ${nodes['DUT1']} \
+| | ... | \| ${locator_set_number} \|
+| | ...
+| | [Arguments] | ${dut_node} | ${locator_set_number}
+| | ${locator_set_values}= | Generate Lisp Locator Set Data |
+| | ...                    | ${dut_node} | ${locator_set_number}
+| | Set Test Variable | ${locator_set_values}
+
+| Lisp locator_set data is set
+| | [Documentation] | Set the lisp locator_set and locator on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${locator_set_values} - Generated locator_set data from
+| | ... |                           KW locator_set data is prepared,
+| | ... |                           which will be set on the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| When Lisp locator_set data is set \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Set Lisp Locator Set | ${dut_node} | ${locator_set_values}
+
+| Lisp locator_set is set correct
+| | [Documentation] | Test if the locator_set is set correct on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${locator_set_values} - Generated locator_set data from
+| | ... |                           KW locator_set data is prepared,
+| | ... |                           which were set to VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| Then Lisp locator_set is set correct \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | ${show_locator_set}= | Vpp Show Lisp Locator Set | ${dut_node}
+| | Lisp Locator S Should Be Equal
+| | ... | ${locator_set_values} | ${show_locator_set}
+
+| Delete all lisp locator_set from VPP
+| | [Documentation] | Delete all lisp locator_set on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${locator_set_values} - Generated locator_set data from
+| | ... |                           KW locator_set data is prepared,
+| | ... |                           which was set on the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| When Delete all lisp locator_set from VPP \
+| | ... | \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Unset Lisp Locator Set | ${dut_node} | ${locator_set_values}
+
+| Lisp locator_set should be unset
+| | [Documentation] | Test if all locator_set are unset from VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Then Lisp locator_set should be unset \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | ${show_locator_set}= | Vpp Show Lisp Locator Set | ${dut_node}
+| | Lisp Is Empty | ${show_locator_set}
+
+| Lisp locator_set data use for test reset locator_set are prepared
+| | [Documentation] | Generate lisp special type of locator_set data.
+| | ...             | This data will be use for test reset locator_set.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - ${locator_set_number} - Number how many locator_set data
+| | ...                          | it will generate. Type: int
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW sets following test case variables:
+| | ... | - ${locator_set_values} - New generate locator_set data.
+| | ...
+| | ... | *Example:*
+| | ... | \| Given Lisp locator_set data use for test reset locator_set \
+| | ... |    are prepared \| ${nodes['DUT1']} \| ${locator_set_number} \|
+| | ...
+| | [Arguments] | ${dut_node} | ${locator_set_number}
+| | ${locator_set_values}= | Generate Lisp Locator Set Reset Data |
+| | ...                    | ${dut_node} | ${locator_set_number}
+| | Set Test Variable | ${locator_set_values}
+
+| Lisp eid address is prepared
+| | [Documentation] | Generate lisp eid address for testing lisp eid API.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - ${eid_ipv4_num} - Number of generate ipv4 address. Type: int
+| | ... | - ${eid_ipv6_num} - Number of generate ipv6 address. Type: int
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW sets following test case variables:
+| | ... | - ${set_eid} - New generate eid data.
+| | ...
+| | ... | *Example:*
+| | ... | \| Given Lisp eid address is prepared \| ${nodes['DUT1']} \
+| | ... | \| ${eid_ipv4_num} \| ${eid_ipv6_num} \|
+| | ...
+| | [Arguments] | ${dut_node} | ${eid_ipv4_num} | ${eid_ipv6_num}
+| | ${set_eid} = | Generate Lisp Local Eid Data
+| | ... | ${eid_ipv4_num} | ${eid_ipv6_num}
+| | Set Test Variable | ${set_eid}
+
+| Lisp eid address is set
+| | [Documentation] | Set the lisp eid address on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${set_eid} - Generated eid data which will be set to VPP.
+| | ...
+| | ... | *Example:*
+| | ... | \| When Lisp eid address is set \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Set Lisp Eid Table | ${dut_node} | ${set_eid}
+
+| Lisp eid address is set correct to eid table
+| | [Documentation] | Test if the locator_set is set correct on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${set_eid} - Generated eid data which will be set to the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| Then Lisp eid address is set correct to eid table \
+| | ... | \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | ${show_eid}= | Vpp Show Lisp Local Eid Table | ${dut_node}
+| | Lisp Should Be Equal | ${set_eid} | ${show_eid}
+
+| Delete all lisp eid address from VPP
+| | [Documentation] | Delete all lisp eid address from the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${set_eid} - Generated eid data which was set to the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| When Delete all lisp eid address from VPP \
+| | ... | \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Unset Lisp Eid Table | ${dut_node} | ${set_eid}
+
+| Lisp eid table should be empty
+| | [Documentation] | Test if the eid table is empty.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Then Lisp eid table should be empty \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | ${show_eid}= | Vpp Show Lisp Local Eid Table | ${dut_node}
+| | Lisp Is Empty | ${show_eid}
+
+| Lisp map resolver address is prepared
+| | [Documentation] | Generate map resolver address for testing
+| | ...             | lisp map resolver API.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - ${map_resolver_ipv4_num} - Number of generate ipv4 address.
+| | ... |                              Type: int
+| | ... | - ${map_resolver_ipv6_num} - Number of generate ipv6 address.
+| | ... |                              Type: int
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW sets following test case variables:
+| | ... | - ${set_map_resolver} - Generate map resolver data.
+| | ...
+| | ... | *Example:*
+| | ... | \| Given Lisp map resolver address is prepared \
+| | ... | \| ${nodes['DUT1']} \| ${map_resolver_ipv4_num} \
+| | ... | \| ${map_resolver_ipv6_num} \|
+| | ...
+| | [Arguments] | ${dut_node} | ${map_resolver_ipv4_num} | ${map_resolver_ipv6_num}
+| | ${set_map_resolver} = | Generate Lisp Map Resolver Data
+| | ... | ${map_resolver_ipv4_num} | ${map_resolver_ipv6_num}
+| | Set Test Variable | ${set_map_resolver}
+
+| Lisp map resolver address is set
+| | [Documentation] | Set the lisp map resolver address in the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${set_map_resolver} - Map resolver data which will be set
+| | ... |                         to the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| When Lisp map resolver address is set \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Set Lisp Map Resolver | ${dut_node} | ${set_map_resolver}
+
+| Lisp map resolver address is set correct
+| | [Documentation] | Test if the map resolver address is set correct
+| | ...             | on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${set_map_resolver} - Map resolver data which was set
+| | ... |                         to the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| Then Lisp map resolver address is set correct \
+| | ... | \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | ${show_map_resolver}= | Vpp Show Lisp Map Resolver | ${dut_node}
+| | Lisp Should Be Equal | ${set_map_resolver} | ${show_map_resolver}
+
+| Delete all lisp map resolver address from VPP
+| | [Documentation] | Delete all lisp map resolver address on the VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | _NOTE:_ This KW requires following test case variables:
+| | ... | - ${set_map_resolver} - Map resolver data which was set
+| | ... |                         to the VPP node.
+| | ...
+| | ... | *Example:*
+| | ... | \| When Delete all lisp map resolver address from VPP \
+| | ... | \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Unset Lisp Map Resolver | ${dut_node} | ${set_map_resolver}
+
+| Lip map resolver address should be empty
+| | [Documentation] | Test if the map resolver are empty.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Then Lip map resolver address should be empty \
+| | ... | \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | ${show_map_resolver}= | Vpp Show Lisp Map Resolver | ${dut_node}
+| | Lisp Is Empty | ${show_map_resolver}