diff options
Diffstat (limited to 'resources')
-rw-r--r-- | resources/libraries/python/LispUtil.py | 43 | ||||
-rw-r--r-- | resources/libraries/robot/lisp/lisp_api.robot | 23 | ||||
-rw-r--r-- | resources/templates/vat/lisp/del_lisp_remote_mapping.vat | 2 | ||||
-rw-r--r-- | resources/test_data/lisp/api/lisp_api_resources.py | 60 |
4 files changed, 97 insertions, 31 deletions
diff --git a/resources/libraries/python/LispUtil.py b/resources/libraries/python/LispUtil.py index c50e626b80..556ae1b289 100644 --- a/resources/libraries/python/LispUtil.py +++ b/resources/libraries/python/LispUtil.py @@ -120,23 +120,10 @@ class LispUtil(object): :type locator_set2: list """ - # Remove duplicate value which is not set in vpp node. locator_set_list = [] - tmp_list = list(locator_set1) - while len(tmp_list): - locator_set = tmp_list.pop(0) - locator_set_name = locator_set.get('locator-set') - for tmp_loc_set in tmp_list: - tmp_loc_set_name = tmp_loc_set.get('locator-set') - if locator_set_name == tmp_loc_set_name: - locator_set = tmp_loc_set - tmp_list.remove(tmp_loc_set) - locator_set_list.append(locator_set) - - for locator_set in locator_set2: - if 'locator-set-index' in locator_set: - del locator_set['locator-set-index'] - + for item in locator_set1: + if item not in locator_set_list: + locator_set_list.append(item) self.lisp_should_be_equal(locator_set_list, locator_set2) @staticmethod @@ -148,13 +135,15 @@ class LispUtil(object): :param locator_set_number: Generate n locator_set. :type node: dict :type locator_set_number: str - :return: list of lisp locator_set. - :rtype: list + :return: list of lisp locator_set, list of lisp locator_set expected + from VAT. + :rtype: tuple """ topo = Topology() locator_set_list = [] + locator_set_list_vat = [] i = 0 for num in range(0, int(locator_set_number)): locator_list = [] @@ -177,7 +166,11 @@ class LispUtil(object): 'locator': locator_list} locator_set_list.append(locator_set) - return locator_set_list + locator_set_vat = {"ls_name": l_name, + "ls_index": num} + locator_set_list_vat.append(locator_set_vat) + + return locator_set_list, locator_set_list_vat @staticmethod def generate_duplicate_lisp_locator_set_data(node, locator_set_number): @@ -188,12 +181,14 @@ class LispUtil(object): :param locator_set_number: Generate n locator_set. :type node: dict :type locator_set_number: str - :return: list of lisp locator_set. - :rtype: list + :return: list of lisp locator_set, list of lisp locator_set expected + from VAT. + :rtype: tuple """ topo = Topology() locator_set_list = [] + locator_set_list_vat = [] i = 0 for num in range(0, int(locator_set_number)): locator_list = [] @@ -215,7 +210,11 @@ class LispUtil(object): 'locator': locator_list} locator_set_list.append(locator_set) - return locator_set_list + locator_set_vat = {"ls_name": l_name, + "ls_index": num} + locator_set_list_vat.append(locator_set_vat) + + return locator_set_list, locator_set_list_vat def lisp_is_empty(self, lisp_params): """Check if the input param are empty. diff --git a/resources/libraries/robot/lisp/lisp_api.robot b/resources/libraries/robot/lisp/lisp_api.robot index 4bd22bc036..a8b59e0fee 100644 --- a/resources/libraries/robot/lisp/lisp_api.robot +++ b/resources/libraries/robot/lisp/lisp_api.robot @@ -35,15 +35,19 @@ | | ... | | ... | _NOTE:_ This KW sets following test case variables: | | ... | - locator_set_values - New generated locator_set data. +| | ... | - locator_set_values_vat - New generated locator_set data expected\ +| | ... | from VAT. | | ... | | ... | *Example:* | | ... | \| Given Lisp locator_set data is prepared \| ${nodes['DUT1']} \ | | ... | \| ${locator_set_number} \| | | ... | | [Arguments] | ${dut_node} | ${locator_set_number} -| | ${locator_set_values}= | Generate Unique Lisp Locator Set Data | -| | ... | ${dut_node} | ${locator_set_number} +| | ${locator_set_values} | ${locator_set_values_vat}= +| | ... | Generate Unique Lisp Locator Set Data +| | ... | ${dut_node} | ${locator_set_number} | | Set Test Variable | ${locator_set_values} +| | Set Test Variable | ${locator_set_values_vat} | Lisp locator_set data is set | | [Documentation] | Set the lisp locator_set and locator on the VPP node. @@ -75,9 +79,8 @@ | | ... | - 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. +| | ... | - locator_set_values_vat - Generated locator_set data from +| | ... | KW locator_set data is prepared, which are expected from VPP via VAT. | | ... | | ... | *Example:* | | ... | \| Then Lisp locator_set is set correctly \| ${nodes['DUT1']} \| @@ -85,7 +88,7 @@ | | [Arguments] | ${dut_node} | | ${show_locator_set}= | Vpp Show Lisp Locator Set | ${dut_node} | local | | Lisp Locator S Should Be Equal -| | ... | ${locator_set_values} | ${show_locator_set} +| | ... | ${locator_set_values_vat} | ${show_locator_set} | Delete all lisp locator_set from VPP | | [Documentation] | Delete all lisp locator_set on the VPP node. @@ -138,15 +141,19 @@ | | ... | | ... | _NOTE:_ This KW sets following test case variables: | | ... | - locator_set_values - New generate locator_set data. +| | ... | - locator_set_values_vat - New generated locator_set data expected\ +| | ... | from VAT. | | ... | | ... | *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 Duplicate Lisp Locator Set Data | -| | ... | ${dut_node} | ${locator_set_number} +| | ${locator_set_values} | ${locator_set_values_vat}= +| | ... | Generate Duplicate Lisp Locator Set Data +| | ... | ${dut_node} | ${locator_set_number} | | Set Test Variable | ${locator_set_values} +| | Set Test Variable | ${locator_set_values_vat} | Lisp eid address is set | | [Documentation] | Set the lisp eid address on the VPP node. diff --git a/resources/templates/vat/lisp/del_lisp_remote_mapping.vat b/resources/templates/vat/lisp/del_lisp_remote_mapping.vat index f090ef97f5..515611ffd0 100644 --- a/resources/templates/vat/lisp/del_lisp_remote_mapping.vat +++ b/resources/templates/vat/lisp/del_lisp_remote_mapping.vat @@ -1 +1 @@ -lisp_add_del_remote_mapping del vni {vni} deid {deid}/{deid_prefix} seid {seid}/{seid_prefix} rloc {rloc} +lisp_add_del_remote_mapping del vni {vni} eid {deid}/{deid_prefix} seid {seid}/{seid_prefix} rloc {rloc} diff --git a/resources/test_data/lisp/api/lisp_api_resources.py b/resources/test_data/lisp/api/lisp_api_resources.py index 45ae73510f..cc97f1c0e3 100644 --- a/resources/test_data/lisp/api/lisp_api_resources.py +++ b/resources/test_data/lisp/api/lisp_api_resources.py @@ -71,6 +71,66 @@ eid_table = [{'eid': '192.168.0.0', 'ttl': 0, 'authoritative': 0}] +# Expected data from VPP via VAT +eid_table_vat = [ + { + "action": 0, + "is_local": 1, + "eid": "192.168.0.0/24", + "vni": 0, + "ttl": 0, + "authoritative": 0 + }, + { + "action": 0, + "is_local": 1, + "eid": "192.168.1.0/24", + "vni": 0, + "ttl": 0, + "authoritative": 0 + }, + { + "action": 0, + "is_local": 1, + "eid": "192.168.2.0/24", + "vni": 0, + "ttl": 0, + "authoritative": 0 + }, + { + "action": 0, + "is_local": 1, + "eid": "192.168.3.0/24", + "vni": 0, + "ttl": 0, + "authoritative": 0 + }, + { + "action": 0, + "is_local": 1, + "eid": "10:1::/64", + "vni": 0, + "ttl": 0, + "authoritative": 0 + }, + { + "action": 0, + "is_local": 1, + "eid": "10:2::/64", + "vni": 0, + "ttl": 0, + "authoritative": 0 + }, + { + "action": 0, + "is_local": 1, + "eid": "10:3::/64", + "vni": 0, + "ttl": 0, + "authoritative": 0 + } +] + # Example lisp map resolvers data we want set to VPP # and then check if it is set correctly. map_resolver = [{'map resolver': '192.169.0.1'}, |