aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot/honeycomb/fib.robot
blob: 8209db7512f918b9563637bef68239e2da9248d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Copyright (c) 2018 Bell Canada, Pantheon Technologies 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 ***
| Library | resources.libraries.python.honeycomb.FIB.FibKeywords
| Documentation | Keywords used to test Honeycomb FIB tables.

*** Keywords ***
| Honeycomb configures FIB table
| | [Documentation] | Uses Honeycomb API to configure a FIB table.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ... | - ip_version - IP protocol version, ipv4 or ipv6. Type:string
| | ... | - vrf - vrf-id the new table will belong to. Type: integer
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Honeycomb configures FIB table \| ${nodes['DUT1']} \
| | ... | \| ipv4 \| ${vrf} \|
| | [Arguments] | ${node} | ${ip_version} | ${vrf}
| | Configure FIB table | ${node} | ${ip_version} | ${vrf}

| FIB table data from Honeycomb should contain
| | [Documentation] | Uses Honeycomb API to retrieve operational data about\
| | ... | a FIB table, and compares with the data provided.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ... | - ip_version - IP protocol version, ipv4 or ipv6. Type:string
| | ... | - vrf - vrf-id the new table will belong to. Type: integer
| | ... | - expected_data - Data to compare against. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
| | ... | \| FIB table data from Honeycomb should contain \| ${nodes['DUT1']} \
| | ... | \| ipv4 \| ${data} \|
| | [Arguments] | ${node} | ${ip_version} | ${vrf} | ${expected_data}
| | ${data}= | Get FIB Table Oper | ${node} | ${ip_version} | ${vrf}
| | Should Contain | ${data} | ${expected_data}

| Honeycomb removes FIB configuration
| | [Documentation] | Uses Honeycomb API to remove Honeycomb-created\
| | ... | FIB configuration from the node. Entries configured automatically\
| | ... | by VPP will not be removed.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ... | - ip_version - IP protocol version, ipv4 or ipv6. Type:string
| | ... | - vrf - vrf-id the new table will belong to. Type: integer
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Honeycomb removes FIB configuration \| ${nodes['DUT1']} \
| | ... | \| ${ip_version} \| ${vrf} \|
| | [Arguments] | ${node} | ${ip_version} | ${vrf}
| | Delete FIB table | ${node} | ${ip_version} | ${vrf}