ba4951f80515d9ae40c64070f43f6fd9335c1dde
[csit.git] / tests / suites / lisp / lisp_api_untagged.robot
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 *** Settings ***
15 | Library | resources.libraries.python.topology.Topology
16 | Library | resources.libraries.python.NodePath
17 | Library | resources.libraries.python.Trace
18 | Library | resources.libraries.python.LispUtil
19 | Resource | resources/libraries/robot/default.robot
20 | Resource | resources/libraries/robot/interfaces.robot
21 | Resource | resources/libraries/robot/lisp/lisp_api.robot
22 # import additional Lisp settings from resource file
23 | Variables | tests/suites/lisp/resources/lisp_api_resources.py
24 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
25 | ... | VM_ENV | HW_ENV
26 | Test Setup | Run Keywords | Setup all DUTs before test
27 | ...        | AND          | Setup all TGs before traffic script
28 | ...        | AND          | Update All Interface Data On All Nodes | ${nodes}
29 | Test Teardown | Show Packet Trace on All DUTs | ${nodes}
30 | Documentation | *LISP API test cases*
31 | ...
32 | ... | *[Top] Network Topologies:* DUT1 1-node topology.
33 | ... | *[Enc] Packet Encapsulations:* None.
34 | ... | *[Cfg] DUT configuration:* DUT1 gets configured with all LISP
35 | ... | parameters.
36 | ... | *[Ver] Verification:* DUT1 operational data gets verified following
37 | ... | configuration.
38 | ... | *[Ref] Applicable standard specifications:* RFC6830.
39
40 *** Variables ***
41 | ${locator_set_num}= | 3
42
43 *** Test Cases ***
44
45 | TC01: DUT can enable and disable LISP
46 | | [Documentation]
47 | | ... | [Top] DUT1. [Enc] None. [Cfg1] Test LISP enable/disable API; On \
48 | | ... | DUT1 enable LISP. [Ver1] Check DUT1 if LISP is enabled. [Cfg2]
49 | | ... | Then disable LISP. [Ver2] Check DUT1 if LISP is disabled. [Ref]
50 | | ... | RFC6830.
51 | | When Enable lisp | ${nodes['DUT1']}
52 | | Then Check if lisp is enabled | ${nodes['DUT1']} | ${lisp_status}
53 | | When Disable lisp | ${nodes['DUT1']}
54 | | Then Check if lisp is disabled | ${nodes['DUT1']} | ${lisp_status}
55
56 | TC02: DUT can add and delete locator_set
57 | | [Documentation]
58 | | ... | [Top] DUT1. [Enc] None. [Cfg1] Test LISP locator_set API; on \
59 | | ... | DUT1 configure locator_set and locator. [Ver1] Check DUT1
60 | | ... | configured locator_set and locator are correct. [Cfg2] Then
61 | | ... | remove locator_set and locator. [Ver2] check DUT1 locator_set
62 | | ... | and locator are removed. [Ref] RFC6830.
63 | | Given Lisp locator_set data is prepared
64 | | ... | ${nodes['DUT1']} | ${locator_set_num}
65 | | And   Enable lisp | ${nodes['DUT1']}
66 | | When Lisp locator_set data is set | ${nodes['DUT1']}
67 | | Then Lisp locator_set is set correctly | ${nodes['DUT1']}
68 | | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
69 | | Then Lisp locator_set should be unset | ${nodes['DUT1']}
70
71 | TC03: DUT can add, reset and delete locator_set
72 | | [Documentation]
73 | | ... | [Top] DUT1. [Enc] None. [Cfg1] Test LISP locator_set API; on \
74 | | ... | DUT1 configure locator_set and locator. [Ver1] Check DUT1
75 | | ... | locator_set and locator are correct. [Cfg2] Then reset
76 | | ... | locator_set and set it again. [Ver2] Check DUT1 locator_set and
77 | | ... | locator are correct. [Cfg3] Then remove locator_set and locator.
78 | | ... | [Ver3] Check DUT1 all locator_set and locators are removed.
79 | | ... | [Ref] RFC6830.
80 | | Given Lisp locator_set data use for test reset locator_set are prepared
81 | | ... | ${nodes['DUT1']} | ${locator_set_num}
82 | | And   Enable lisp | ${nodes['DUT1']}
83 | | When Lisp locator_set data is set | ${nodes['DUT1']}
84 | | Then Lisp locator_set is set correctly | ${nodes['DUT1']}
85 | | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
86 | | Then Lisp locator_set should be unset | ${nodes['DUT1']}
87
88 | TC04: DUT can add and delete eid address
89 | | [Documentation]
90 | | ... | [Top] DUT1. [Enc] None. [Cfg1] Test LISP eid API; on DUT1 \
91 | | ... | configure LISP eid IP address. [Ver1] Check DUT1 configured data
92 | | ... | is correct. [Cfg2] Remove configured data. [Ver2] Check DUT1 all
93 | | ... | eid IP addresses are removed. [Ref] RFC6830.
94 | | [Tags] | EXPECTED_FAILING
95 | | Given Enable lisp | ${nodes['DUT1']}
96 | | When Lisp eid address is set | ${nodes['DUT1']} | ${eid_table}
97 | | Then Lisp eid address is set correctly to eid table | ${nodes['DUT1']}
98 | | ...                                                 | ${eid_table}
99 | | When Delete all lisp eid address from VPP | ${nodes['DUT1']} | ${eid_table}
100 | | Then Lisp eid table should be empty | ${nodes['DUT1']}
101
102 | TC05: DUT can add and delete LISP map resolver address
103 | | [Documentation]
104 | | ... | [Top] DUT1. [Enc] None. [Cfg1] Test LISP map resolver address \
105 | | ... | API; on DUT1 configure LISP map resolver address. [Ver1] Check
106 | | ... | DUT1 configured data is correct. [Cfg2] Remove configured data.
107 | | ... | [Ver2] Check DUT1 all map resolver addresses are removed. [Ref]
108 | | ... | RFC6830.
109 | | Given Enable lisp | ${nodes['DUT1']}
110 | | When Lisp map resolver address is set | ${nodes['DUT1']} | ${map_resolver}
111 | | Then Lisp map resolver address is set correctly | ${nodes['DUT1']}
112 | | ...                                             | ${map_resolver}
113 | | When Delete all lisp map resolver address from VPP | ${nodes['DUT1']}
114 | | ...                                                | ${map_resolver}
115 | | Then Lip map resolver address should be empty | ${nodes['DUT1']}