aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resources')
-rw-r--r--resources/libraries/python/LispUtil.py43
-rw-r--r--resources/libraries/robot/lisp/lisp_api.robot23
-rw-r--r--resources/templates/vat/lisp/del_lisp_remote_mapping.vat2
-rw-r--r--resources/test_data/lisp/api/lisp_api_resources.py60
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'},