X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fhoneycomb%2Ffib.robot;fp=resources%2Flibraries%2Frobot%2Fhoneycomb%2Ffib.robot;h=8209db7512f918b9563637bef68239e2da9248d0;hp=0000000000000000000000000000000000000000;hb=fe014f97664f26b2ed75939a7efe9728e037f121;hpb=2ca419cc7795615c3954ca3e499b99599ae44706 diff --git a/resources/libraries/robot/honeycomb/fib.robot b/resources/libraries/robot/honeycomb/fib.robot new file mode 100644 index 0000000000..8209db7512 --- /dev/null +++ b/resources/libraries/robot/honeycomb/fib.robot @@ -0,0 +1,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}