diff options
author | selias <samelias@cisco.com> | 2016-11-07 16:04:26 +0100 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2016-11-25 07:56:37 +0000 |
commit | 4bda4f8b55b0d431b514663e8e90fccd97ad31d4 (patch) | |
tree | 40f2e469c45b9f99ea5935bf9dc6cb272020face /resources/libraries/robot | |
parent | 0d782a5690c7e28a329952fb93afde84ddd97078 (diff) |
CSIT-425: HC Test: NSH-SFC test suite
- add keyword to enable optional modules in Honeycomb (including NSH)
- update honeycomb __init__.robot with the new keyword
- add python and robot libraries for NSH tests
- add NSH test suite (CRUD operations)
Change-Id: I869069a138a51d56d25522163c3a6deefb316f46
Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r-- | resources/libraries/robot/honeycomb/nsh.robot | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/resources/libraries/robot/honeycomb/nsh.robot b/resources/libraries/robot/honeycomb/nsh.robot new file mode 100644 index 0000000000..f2a8ffdf8d --- /dev/null +++ b/resources/libraries/robot/honeycomb/nsh.robot @@ -0,0 +1,161 @@ +# Copyright (c) 2016 Cisco 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.InterfaceUtil +| Library | resources.libraries.python.honeycomb.HcAPIKwNSH.NSHKeywords +| Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords +| ... | WITH NAME | InterfaceAPI +| Documentation | Keywords used to test Honeycomb NSH node. + +*** Keywords *** +| NSH configuration from Honeycomb should be empty +| | [Documentation] | Uses Honeycomb API to retrieve NSH configuration\ +| | ... | and expects to fail. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... +| | ... | *Example:* +| | ... +| | ... | \| NSH configuration from Honeycomb should be empty \ +| | ... | \| ${nodes['DUT1']} \| +| | [Arguments] | ${node} +| | Run keyword and expect error | *Status code: 404* +| | ... | Get NSH oper data | ${node} + +| Honeycomb adds NSH entry +| | [Documentation] | Uses Honeycomb API to configure an NSH entry. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name for the NSH entry. Type: string +| | ... | - data - settings for the NSH entry. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Honeycomb configures NSH entry \| ${nodes['DUT1']} \| nsh_1 \ +| | ... | \| ${data} \| +| | [Arguments] | ${node} | ${name} | ${data} +| | Add NSH entry | ${node} | ${name} | ${data} + +| Honeycomb removes NSH entry +| | [Documentation] | Uses Honeycomb API to delete the specified NSH entry. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name of the NSH entry to be deleted. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Honeycomb removes NSH entry \| ${nodes['DUT1']} \| nsh_1 \| +| | [Arguments] | ${node} | ${name} +| | Remove NSH entry | ${node} | ${name} + +| Honeycomb adds NSH map +| | [Documentation] | Uses Honeycomb API to configure an NSH map. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name for the NSH map. Type: string +| | ... | - data - settings for the NSH map. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Honeycomb configures NSH map \| ${nodes['DUT1']} \| nsh_1 \ +| | ... | \| ${data} \| +| | [Arguments] | ${node} | ${name} | ${data} +| | Add NSH map | ${node} | ${name} | ${data} + +| Honeycomb removes NSH map +| | [Documentation] | Uses Honeycomb API to delete an NSH map. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name of the NSH map to be deleted. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Honeycomb removes NSH map \| ${nodes['DUT1']} \| nsh_1 \| +| | [Arguments] | ${node} | ${name} +| | Remove NSH map | ${node} | ${name} + +| NSH entry from Honeycomb should be +| | [Documentation] | Retrieves oper data for NSH entry and compares\ +| | ... | with provided values. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name of the NSH entry. Type: string +| | ... | - data - expected NSH entry settings. Type dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| NSH entry from Honeycomb should be \| ${nodes['DUT1']} \| nsh_1 \ +| | ... | \| ${data} \| +| | [Arguments] | ${node} | ${name} | ${data} +| | ${oper_data}= | Get NSH oper data | ${node} | entry_name=${name} +| | Compare data structures | ${oper_data} | ${data} + +| NSH map from Honeycomb should be +| | [Documentation] | Retrieves oper data for NSH map and compares\ +| | ... | with provided values. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name of the NSH map. Type: string +| | ... | - data - expected NSH map settings. Type dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| NSH map from Honeycomb should be \| ${nodes['DUT1']} \| nsh_1 \ +| | ... | \| ${data} \| +| | [Arguments] | ${node} | ${name} | ${data} +| | ${oper_data}= | Get NSH oper data | ${node} | map_name=${name} +| | Compare data structures | ${oper_data} | ${data} + +| NSH entry from Honeycomb should not exist +| | [Documentation] | Retrieves oper data for NSH entry and expects to fail. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name of the NSH entry. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| NSH entry from Honeycomb should not exist \| ${nodes['DUT1']} \ +| | ... | \| nsh_1 \| +| | [Arguments] | ${node} | ${name} +| | Run keyword and expect error | *Status code: 404* +| | ... | Get NSH oper data | ${node} | entry_name=${name} + +| NSH map from Honeycomb should not exist +| | [Documentation] | Retrieves oper data for NSH map and expects to fail. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dict +| | ... | - name - name of the NSH map. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| NSH map from Honeycomb should not exist \| ${nodes['DUT1']} \ +| | ... | \| nsh_1 \| +| | [Arguments] | ${node} | ${name} +| | Run keyword and expect error | *Status code: 404* +| | ... | Get NSH oper data | ${node} | map_name=${name} + +| Honeycomb clears NSH configuration +| | [Documentation] | Uses Honeycomb API to remove all NSH settings. +| | ... +| | [Arguments] | ${node} +| | Clear NSH settings | ${node}
\ No newline at end of file |