From 86f35c2c60a680b58fca27d9298dd53d02e0138f Mon Sep 17 00:00:00 2001 From: selias Date: Mon, 27 Feb 2017 13:56:22 +0100 Subject: [PATCH] HC Test: create Vlan sub-interface using netconf - add netconf test for specific issue HC2VPP-60 Change-Id: I8fc64bce40f1e43d93e7e92c952e564151bc8232 Signed-off-by: selias --- resources/libraries/python/honeycomb/Netconf.py | 8 +- resources/libraries/robot/honeycomb/netconf.robot | 5 +- resources/test_data/honeycomb/netconf/triggers.py | 101 +++++++++++++++++++-- .../func/honeycomb/mgmt-cfg-int-apihcnc-func.robot | 8 ++ 4 files changed, 111 insertions(+), 11 deletions(-) diff --git a/resources/libraries/python/honeycomb/Netconf.py b/resources/libraries/python/honeycomb/Netconf.py index e3cdbe5dce..770af95afa 100644 --- a/resources/libraries/python/honeycomb/Netconf.py +++ b/resources/libraries/python/honeycomb/Netconf.py @@ -154,14 +154,20 @@ class Netconf(object): return response - def send(self, message): + def send(self, message, **params): """Sends provided message through the channel. :param message: Message to be sent to Honeycomb. + :param params: Format the message string with these parameters. :type message: str + :type params: dict """ + message = message.format(**params) + if not message.endswith(self.delimiter): message += self.delimiter + logger.debug(message) + self.channel.send(message) diff --git a/resources/libraries/robot/honeycomb/netconf.robot b/resources/libraries/robot/honeycomb/netconf.robot index 79fa0a312c..75eaefbf25 100644 --- a/resources/libraries/robot/honeycomb/netconf.robot +++ b/resources/libraries/robot/honeycomb/netconf.robot @@ -35,12 +35,13 @@ | | ... | | ... | *Arguments:* | | ... | - trigger - RPC sequence that triggers a specific error. Type: string +| | ... | - params - Parameters for the trigger template. Type: string | | ... | | ... | *Example:* | | ... | | ... | \| Error trigger is sent \| _some data_]]>]]> \| -| | [Arguments] | ${trigger} -| | Send | ${trigger} +| | [Arguments] | ${trigger} | &{params} +| | Send | ${trigger} | &{params} | Replies should not contain RPC errors | | [Documentation] | Read response received through the channel, and check if\ diff --git a/resources/test_data/honeycomb/netconf/triggers.py b/resources/test_data/honeycomb/netconf/triggers.py index c3a72e4df4..51a6ab6967 100644 --- a/resources/test_data/honeycomb/netconf/triggers.py +++ b/resources/test_data/honeycomb/netconf/triggers.py @@ -363,7 +363,7 @@ trigger_revert1 = u""" ]]>]]> - + @@ -388,7 +388,7 @@ trigger_revert1 = u""" ]]>]]> - @@ -418,7 +418,7 @@ trigger_revert2 = u""" ]]>]]> - + @@ -439,8 +439,93 @@ trigger_revert2 = u""" ]]>]]> - - - - ]]>]]>""" \ No newline at end of file + + + +]]>]]>""" + + +# Test data for issue HC2VPP-60 +# Creating Vlan sub-interface over netconf fails due to ODL bug +trigger_vlan = u""" + + + + + + + + +{interface} + + + + + + +]]>]]> + + + + + + + + + +{interface} + + +2420 + + + + + + + +]]>]]> + + + + + + +none + + + +{interface} + + +2420 + + +true + + +802dot1q +false + + +0 + +x:s-vlan +2420 + + + + + + + + + + +]]>]]> + + + + +]]>]]> +""" \ No newline at end of file diff --git a/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot b/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot index 0aabf4fc9f..45a80a436d 100644 --- a/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot +++ b/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot @@ -26,6 +26,7 @@ | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node} *** Variables *** +| ${interface}= | ${node['interfaces']['port1']['name']} | &{bd_settings}= | flood=${True} | forward=${True} | learn=${True} | ... | unknown-unicast-flood=${True} | arp-termination=${True} @@ -57,3 +58,10 @@ | | When Error trigger is sent | ${trigger_revert1} | | ${if_data_new}= | And InterfaceAPI.Get all interfaces oper data | ${node} | | Then Should be equal | ${if_data} | ${if_data_new} + +| TC04: Vlan subinterface creation +| | [Documentation] | Configure a Vlan sub-interface under a physical interface. +| | Given Netconf session is established | ${node} +| | When Error Trigger Is Sent +| | ... | ${trigger_vlan} | interface=${interface} +| | Then Replies should not contain RPC errors -- 2.16.6