aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2016-11-07 16:04:26 +0100
committerPeter Mikus <pmikus@cisco.com>2016-11-25 07:56:37 +0000
commit4bda4f8b55b0d431b514663e8e90fccd97ad31d4 (patch)
tree40f2e469c45b9f99ea5935bf9dc6cb272020face /resources/libraries/robot
parent0d782a5690c7e28a329952fb93afde84ddd97078 (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.robot161
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