X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fhoneycomb%2Fbridge_domain.robot;h=44dd45094431cd5533ad571015a0fc0be0e61a85;hb=f3b78e659d703921581b4007fd88c770672cd988;hp=99befc9e158393eaa8ba8d7118d8f12bf1eb4dfe;hpb=cccb893cb175ad29c192abd5e406f6a2bfea18db;p=csit.git diff --git a/resources/libraries/robot/honeycomb/bridge_domain.robot b/resources/libraries/robot/honeycomb/bridge_domain.robot index 99befc9e15..44dd450944 100644 --- a/resources/libraries/robot/honeycomb/bridge_domain.robot +++ b/resources/libraries/robot/honeycomb/bridge_domain.robot @@ -15,9 +15,7 @@ | Library | resources.libraries.python.L2Util | Library | resources.libraries.python.honeycomb.HcAPIKwBridgeDomain.BridgeDomainKeywords | Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords -| ... | WITH NAME | InterfaceAPI | Library | resources.libraries.python.InterfaceUtil -| ... | WITH NAME | interfaceCLI *** Keywords *** | Honeycomb creates first L2 bridge domain @@ -52,7 +50,7 @@ | | [Arguments] | ${node} | ${bd_name} | ${settings} | | Add BD | ${node} | ${bd_name} | &{settings} -| Bridge domain configuration from Honeycomb should be +| Bridge domain Operational Data From Honeycomb Should Be | | [Documentation] | Uses Honeycomb API to verify bridge domain settings\ | | ... | against provided values. | | ... @@ -63,14 +61,14 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Bridge domain configuration from Honeycomb should be \ +| | ... | \| Bridge domain Operational Data From Honeycomb Should Be \ | | ... | \| ${nodes['DUT1']} \| bd-04 \| ${{flood:True,learn:False}} \| | | [Arguments] | ${node} | ${bd_name} | ${settings} | | ${api_data}= | Get bd oper data | ${node} | ${bd_name} | | :FOR | ${key} | IN | @{settings.keys()} | | | Should be equal | ${settings['${key}']} | ${api_data['${key}']} -| Bridge domain configuration from VAT should be +| Bridge domain Operational Data From VAT Should Be | | [Documentation] | Uses VAT to verify bridge domain settings\ | | ... | against provided values. | | ... @@ -81,7 +79,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Bridge domain configuration from VAT should be \ +| | ... | \| Bridge domain Operational Data From VAT Should Be \ | | ... | \| ${nodes['DUT1']} \| bd-04 \| ${{flood:True,learn:False}} \| | | [Arguments] | ${node} | ${bd_index} | ${settings} | | ${vat_data}= | VPP get bridge domain data | ${node} @@ -109,9 +107,9 @@ | | ... | \| ${{split_horizon_group:2, bvi:False}} \| | | [Arguments] | ${node} | ${interface1} | ${interface2} | ${bd_name} | | ... | ${settings} -| | interfaceAPI.Add bridge domain to interface +| | Add bridge domain to interface | | ... | ${node} | ${interface1} | ${bd_name} | &{settings} -| | interfaceAPI.Add bridge domain to interface +| | Add bridge domain to interface | | ... | ${node} | ${interface2} | ${bd_name} | &{settings} | Honeycomb should show interfaces assigned to bridge domain @@ -133,9 +131,9 @@ | | ... | \| bd-04 \| ${{split_horizon_group:2, bvi:False}} \| | | [Arguments] | ${node} | ${interface1} | ${interface2} | ${bd_name} | | ... | ${settings} -| | ${if1_data}= | interfaceAPI.Get interface oper data +| | ${if1_data}= | Get interface oper data | | ... | ${node} | ${interface1} -| | ${if2_data}= | interfaceAPI.Get interface oper data +| | ${if2_data}= | Get interface oper data | | ... | ${node} | ${interface2} | | Should be equal | ${if1_data['v3po:l2']['bridge-domain']} | | ... | ${if2_data['v3po:l2']['bridge-domain']} | ${bd_name} @@ -146,7 +144,7 @@ | | ... | ${if2_data['v3po:l2']['bridged-virtual-interface']} | | ... | ${settings['bvi']} -| VAT should show interfaces assigned to bridge domain +| PAPI should show interfaces assigned to bridge domain | | [Documentation] | Uses VAT to verify interface assignment to\ | | ... | bridge domain. | | ... @@ -161,7 +159,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| VAT should show interfaces assigned to bridge domain \ +| | ... | \| PAPI should show interfaces assigned to bridge domain \ | | ... | \| ${nodes['DUT1']} \| ${4} \| GigabitEthernet0/8/0 \ | | ... | \| GigabitEthernet0/9/0 \| ${{split_horizon_group:2, bvi:False}} \| | | [Arguments] | ${node} | ${index} | ${interface1} | ${interface2} @@ -172,11 +170,12 @@ | | ... | ${node['interfaces']['${if1_link}']['vpp_sw_index']} | | ... | ${node['interfaces']['${if2_link}']['vpp_sw_index']} | | ${bd_data}= | VPP get bridge domain data | ${node} -| | ${bd_interfaces}= | Set Variable | ${bd_data[${index}]['sw_if']} +| | ${bd_interfaces}= | Set Variable | ${bd_data[${index}]['sw_if_details']} | | @{bd_interfaces}= | Create List | ${bd_interfaces[0]} | ${bd_interfaces[1]} | | :FOR | ${interface} | IN | @{bd_interfaces} -| | | Should contain | ${if_indices} | ${interface['sw_if_index']} -| | | Should be equal | ${interface['shg']} | ${settings['split_horizon_group']} +# interface[1] = sw_if_index, interface[2] = shg +| | | Should contain | ${if_indices} | ${interface[1]} +| | | Should be equal | ${interface[2]} | ${settings['split_horizon_group']} | Honeycomb removes all bridge domains | | [Documentation] | Uses Honeycomb API to remove all bridge domains from the \ @@ -188,8 +187,10 @@ | | ... | *Example:* | | ... | | ... | \| Honeycomb removes all bridge domains \| ${nodes['DUT1']} \| -| | [Arguments] | ${node} -| | Remove all bds | ${node} +| | [Arguments] | ${node} | @{interfaces} +| | :FOR | ${interface} | IN | @{interfaces} +| | | Remove bridge domain from interface | ${node} | ${interface} +| | Remove all bridge domains | ${node} | Honeycomb should show no bridge domains | | [Documentation] | Uses Honeycomb API to verify the removal of all\ @@ -202,10 +203,10 @@ | | ... | | ... | \| Honeycomb should show no bridge domains \| ${nodes['DUT1']} \| | | [Arguments] | ${node} -| | ${bd_data}= | Get all BDs oper data | ${node} -| | Should be empty | ${bd_data} +| | Run keyword and expect error | *Not possible*Status code: 404* +| | ... | Get all BDs oper data | ${node} -| VAT should show no bridge domains +| PAPI should show no bridge domains | | [Documentation] | Uses VAT to verify the removal of all bridge domains. | | ... | | ... | *Arguments:* @@ -213,10 +214,10 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| VAT should show no bridge domains \| ${nodes['DUT1']} \| +| | ... | \| PAPI should show no bridge domains \| ${nodes['DUT1']} \| | | [Arguments] | ${node} -| | Run Keyword And Expect Error | ValueError: No JSON object could be decoded -| | ... | VPP get bridge domain data | ${node} +| | ${data}= | VPP get bridge domain data | ${node} +| | Should be empty | ${data} | Honeycomb adds interface to bridge domain | | [Documentation] | Uses Honeycomb API to assign interface to a bridge\ @@ -238,12 +239,12 @@ | | ... | | [Arguments] | ${node} | ${interface} | ${bd_name} | ${settings} | | ... -| | interfaceAPI.Add bridge domain to interface -| | ... | ${node} | ${interface} | ${settings['bridge-domain']} +| | Add bridge domain to interface +| | ... | ${node} | ${interface} | ${bd_name} | | ... | ${settings['split-horizon-group']} | | ... | ${settings['bridged-virtual-interface']} -| Bridge domain configuration in interface operational data should be empty +| Bridge domain Operational Interface Assignment should be empty | | [Documentation] | Get interface operational data and retrieve bridge | | ... | domain configuration from it. It should be empty. | | ... @@ -253,16 +254,16 @@ | | ... | will be checked.Type: string | | ... | | ... | *Example:* -| | ... | \| Bridge domain configuration in interface operational data should \ +| | ... | \| Bridge domain Operational Interface Assignment should \ | | ... | be empty \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| | | ... | | [Arguments] | ${node} | ${interface} | | ... -| | ${if_data}= | interfaceAPI.Get BD Oper Data From Interface +| | ${if_data}= | Get BD Oper Data From Interface | | ... | ${node} | ${interface} | | Should be empty | ${if_data} -| Bridge domain configuration in interface operational data should be +| Bridge domain Operational Interface Assignment should be | | [Documentation] | Get interface operational data and retrieve bridge | | ... | domain configuration from it. Compare the data to the expected one. | | ... @@ -273,26 +274,11 @@ | | ... | - bd_settings - The referential bridge domain data. Type: dictionary | | ... | | ... | *Example:* -| | ... | \| Bridge domain configuration in interface operational data should \ +| | ... | \| Bridge domain Operational Interface Assignment should \ | | ... | be \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| ${if_bd_settings} \| | | ... | | [Arguments] | ${node} | ${interface} | ${bd_settings} | | ... -| | ${if_data}= | interfaceAPI.Get BD Oper Data From Interface +| | ${if_data}= | Get BD Oper Data From Interface | | ... | ${node} | ${interface} -| | interfaceAPI.Compare Data Structures | ${if_data} | ${bd_settings} - -| VAT removes bridge domain -| | [Documentation] Remove the specified bridge domain using VAT. -| | ... -| | ... | *Arguments:* -| | ... | - node - Information about a DUT node. Type: dictionary -| | ... | - bd_id - Bridge domain ID. Type: integer -| | ... -| | ... | *Example:* -| | ... | \| VAT removes bridge domain \ -| | ... | \| ${nodes['DUT1']} \| 1 \| -| | ... -| | [Arguments] | ${node} | ${bd_id} -| | ... -| | Delete Bridge Domain VAT | ${node} | ${bd_id} +| | Compare Data Structures | ${if_data} | ${bd_settings}