aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot/honeycomb
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2016-07-06 08:50:00 +0200
committerMatej Klotton <mklotton@cisco.com>2016-07-20 15:05:28 +0000
commitc10eda554529ac5433216a18d30e9964c6af7976 (patch)
tree0569a229c0954f35d17e398d6bf29765d7f25f53 /resources/libraries/robot/honeycomb
parent28e17b8002b50a04cdd6c9e74c15cdc4aa33a5e2 (diff)
CSIT-190 Add honeycomb interface management test
- add test for specific issue with interface management through netconf - add keywords used in test - update methods that manage Netconf communication - update notifications tests to reuse more code Change-Id: I11788e18f05c4965160f247c3811d270d2c91170 Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/robot/honeycomb')
-rw-r--r--resources/libraries/robot/honeycomb/netconf.robot56
-rw-r--r--resources/libraries/robot/honeycomb/notifications.robot23
2 files changed, 62 insertions, 17 deletions
diff --git a/resources/libraries/robot/honeycomb/netconf.robot b/resources/libraries/robot/honeycomb/netconf.robot
new file mode 100644
index 0000000000..ce7b6a6b38
--- /dev/null
+++ b/resources/libraries/robot/honeycomb/netconf.robot
@@ -0,0 +1,56 @@
+# 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.honeycomb.Netconf
+| Variables | tests/suites/honeycomb/resources/netconf/hello.py
+| Documentation | Keywords for managing Netconf communication.
+
+*** Keywords ***
+| Netconf session is established
+| | [Documentation] | Open a communication channel on the Netconf session\
+| | ... | and exchange hello messages.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - information about a DUT node. Type: dict
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Netconf session is established \| ${nodes['DUT1']} \|
+| | [Arguments] | ${node}
+| | Create session | ${node} | ${hello}
+
+| Error trigger is sent
+| | [Documentation] | Send the specified error trigger through the channel.
+| | ...
+| | ... | *Arguments:*
+| | ... | - trigger - RPC sequence that triggers a specific error. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Error trigger is sent \| <rpc>_some data_</rpc>]]>]]> \|
+| | [Arguments] | ${trigger}
+| | Send | ${trigger}
+
+| Replies should not contain RPC errors
+| | [Documentation] | Read response received through the channel, and check if\
+| | ... | it is an error report.
+| | ...
+| | ... | *Arguments:*
+| | ... | none
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Replies should not contain RPC errors \|
+| | ${resp}= | Get all responses
+| | should not contain | ${resp} | rpc-error
diff --git a/resources/libraries/robot/honeycomb/notifications.robot b/resources/libraries/robot/honeycomb/notifications.robot
index ded8d3a2c0..119a351e7d 100644
--- a/resources/libraries/robot/honeycomb/notifications.robot
+++ b/resources/libraries/robot/honeycomb/notifications.robot
@@ -12,35 +12,24 @@
# limitations under the License.
*** Settings ***
-| Library | resources.libraries.python.honeycomb.Notifications | ${hello}
-| ... | ${subscription}
+| Library | resources.libraries.python.honeycomb.Notifications
+| Variables | tests/suites/honeycomb/resources/netconf/hello.py
+| Variables | tests/suites/honeycomb/resources/netconf/subscription.py
| Documentation | Keywords used to test Honeycomb notifications over Netconf.
-*** Variables ***
-# hello message sent to Honeycomb through Netconf
-| ${hello}= | <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-| ... | <capabilities><capability>urn:ietf:params:netconf:base:1.0
-| ... | </capability></capabilities></hello>]]>]]>
-# rpc call to add a subscription to Netconf notifications
-| ${subscription}= | <netconf:rpc netconf:message-id="101"
-| ... | xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
-| ... | <create-subscription
-| ... | xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
-| ... | <stream>honeycomb</stream></create-subscription></netconf:rpc>]]>]]>
-
*** Keywords ***
| Notification listener is established
| | [Documentation] | Connects to Honeycomb notification service.
| | ...
| | ... | *Arguments:*
-| | ... | - node - information about a DUT node. Type: dictionary
+| | ... | - node - information about a DUT node. Type: dict
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Notification listener is established \| ${nodes['DUT1']} \|
| | [Arguments] | ${node}
-| | Create session | ${node}
-| | Add notification listener
+| | Create session | ${node} | ${hello}
+| | Add notification listener | ${subscription}
| Honeycomb should send interface state notification
| | [Documentation] | Reads notification from Honeycomb and verifies\