FIB table add/delete
[csit.git] / tests / vpp / func / honeycomb / mgmt-cfg-int-apihcnc-func.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 | Resource | resources/libraries/robot/shared/default.robot
16 | Resource | resources/libraries/robot/honeycomb/honeycomb.robot
17 | Resource | resources/libraries/robot/honeycomb/netconf.robot
18 | Resource | resources/libraries/robot/honeycomb/bridge_domain.robot
19 | Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords
20 | ...     | WITH NAME | InterfaceAPI
21 | Variables | resources/test_data/honeycomb/netconf/triggers.py
22 | ...
23 | Documentation | *Netconf test suite. Contains test cases that need to bypass\
24 | ... | REST API.*
25 | ...
26 | Force Tags | HC_FUNC | HC_REST_ONLY
27 | ...
28 | Suite Setup | Set Up Honeycomb Functional Test Suite | ${node}
29 | ...
30 | Suite Teardown | Tear Down Honeycomb Functional Test Suite | ${node}
31 | ...
32
33 *** Variables ***
34 | ${interface}= | ${node['interfaces']['port1']['name']}
35 | &{bd_settings}= | flood=${True} | forward=${True} | learn=${True}
36 | ... | unknown-unicast-flood=${True} | arp-termination=${True}
37
38 *** Test Cases ***
39 | TC01: Honeycomb can create and delete interfaces
40 | | [Documentation] | Repeatedly create and delete an interface through Netconf\
41 | | ... | and check the reply for any errors.
42 | | ...
43 | | Given Netconf session should be established | ${node}
44 | | And Honeycomb creates first L2 bridge domain
45 | | ... | ${node} | bd_netconf | ${bd_settings}
46 | | :FOR | ${index} | IN RANGE | 20
47 | | | When Error trigger is sent | ${trigger_105}
48 | | | Then Replies should not contain RPC errors
49
50 | TC02: Transaction revert test case 1
51 | | [Documentation] | Configure two conflicting VxLAN tunnels, then verify\
52 | | ... | that neither tunnel exists.
53 | | ...
54 | | Given Netconf session should be established | ${node}
55 | | ${if_data}= | And InterfaceAPI.Get all interfaces oper data | ${node}
56 | | When Error trigger is sent | ${trigger_revert1}
57 | | ${if_data_new}= | And InterfaceAPI.Get all interfaces oper data | ${node}
58 | | Then Should be equal | ${if_data} | ${if_data_new}
59
60 | TC03: Transaction revert test case 2
61 | | [Documentation] | Configure two conflicting TAP interfaces, then verify\
62 | | ... | that neither interface exists.
63 | | ...
64 | | Given Netconf session should be established | ${node}
65 | | ${if_data}= | And InterfaceAPI.Get all interfaces oper data | ${node}
66 | | When Error trigger is sent | ${trigger_revert1}
67 | | ${if_data_new}= | And InterfaceAPI.Get all interfaces oper data | ${node}
68 | | Then Should be equal | ${if_data} | ${if_data_new}
69
70 | TC04: Vlan subinterface creation
71 | | [Documentation] | Configure a Vlan sub-interface under a physical interface.
72 | | ...
73 | | Given Netconf session should be established | ${node}
74 | | When Error Trigger Is Sent
75 | | ... | ${trigger_vlan} | interface=${interface}
76 | | Then Replies should not contain RPC errors