*** Settings ***
-Documentation netconf-connector CRUD test suite.
+Documentation netconf-connector CRUD test suite.
...
-... Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+... Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
...
-... This program and the accompanying materials are made available under the
-... terms of the Eclipse Public License v1.0 which accompanies this distribution,
-... and is available at http://www.eclipse.org/legal/epl-v10.html
+... This program and the accompanying materials are made available under the
+... terms of the Eclipse Public License v1.0 which accompanies this distribution,
+... and is available at http://www.eclipse.org/legal/epl-v10.html
...
...
-... Perform basic operations (Create, Read, Update and Delete or CRUD) on device
-... data mounted onto a netconf connector and see if they work.
+... Perform basic operations (Create, Read, Update and Delete or CRUD) on device
+... data mounted onto a netconf connector and see if they work.
...
-... FIXME: Replace the BuiltIn.Should_[Not_]Contain instances in the test cases
-... that check the car list related data with calls to keywords of a Resource
-... aimed at getting interesting pieces of data from the XML files and checking
-... them against expected data sets. See MDSAL/northbound.robot suite for
-... additional information.
-Suite Setup Setup_Everything
-Suite Teardown Teardown_Everything
-Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
-Library Collections
-Library RequestsLibrary
-Library OperatingSystem
-Library String
-Library SSHLibrary timeout=10s
-Resource ${CURDIR}/../../../libraries/CompareStream.robot
-Resource ${CURDIR}/../../../libraries/FailFast.robot
-Resource ${CURDIR}/../../../libraries/NetconfKeywords.robot
-Resource ${CURDIR}/../../../libraries/SetupUtils.robot
-Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot
-Variables ${CURDIR}/../../../variables/Variables.py
+... FIXME: Replace the BuiltIn.Should_[Not_]Contain instances in the test cases
+... that check the car list related data with calls to keywords of a Resource
+... aimed at getting interesting pieces of data from the XML files and checking
+... them against expected data sets. See MDSAL/northbound.robot suite for
+... additional information.
+
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library String
+Library SSHLibrary timeout=10s
+Resource ${CURDIR}/../../../libraries/CompareStream.robot
+Resource ${CURDIR}/../../../libraries/FailFast.robot
+Resource ${CURDIR}/../../../libraries/NetconfKeywords.robot
+Resource ${CURDIR}/../../../libraries/SetupUtils.robot
+Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot
+Variables ${CURDIR}/../../../variables/Variables.py
+
+Suite Setup Setup_Everything
+Suite Teardown Teardown_Everything
+Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
+
*** Variables ***
-${directory_with_template_folders} ${CURDIR}/../../../variables/netconf/CRUD
-${device_name} netconf-test-device
-${device_type} full-uri-device
-${USE_NETCONF_CONNECTOR} ${False}
+${directory_with_template_folders} ${CURDIR}/../../../variables/netconf/CRUD
+${device_name} netconf-test-device
+${device_type} full-uri-device
+${USE_NETCONF_CONNECTOR} ${False}
+
*** Test Cases ***
Start_Testtool
- [Tags] ODLMICRO_IGN
[Documentation] Deploy and start test tool, then wait for all its devices to become online.
- NetconfKeywords.Install_And_Start_Testtool device-count=1 schemas=${CURDIR}/../../../variables/netconf/CRUD/schemas mdsal=true
+ [Tags] odlmicro_ign
+ NetconfKeywords.Install_And_Start_Testtool
+ ... device-count=1
+ ... schemas=${CURDIR}/../../../variables/netconf/CRUD/schemas
+ ... mdsal=true
Check_Device_Is_Not_Configured_At_Beginning
[Documentation] Sanity check making sure our device is not there. Fail if found.
Check_Device_Data_Label_Is_Created
[Documentation] Get the device data label and make sure it contains the created content.
- Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Content</l></cont></data>
+ Check_Config_Data
+ ... <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Content</l></cont></data>
Modify_Device_Data_Label_Via_Xml
[Documentation] Send a request to change the sample test data label and check that the request went OK.
Check_Device_Data_Label_Is_Modified
[Documentation] Get the device data label and make sure it contains the modified content.
- Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Modified Content</l></cont></data>
+ Check_Config_Data
+ ... <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Modified Content</l></cont></data>
Deconfigure_Device_From_Netconf_Temporarily
[Documentation] Make request to deconfigure the testtool device on Netconf connector.
Check_Modified_Device_Data_Is_Still_There
[Documentation] Get the device data and make sure it contains the created content.
- BuiltIn.Wait_Until_Keyword_Succeeds 60s 1s Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Modified Content</l></cont></data>
+ BuiltIn.Wait_Until_Keyword_Succeeds
+ ... 60s
+ ... 1s
+ ... Check_Config_Data
+ ... <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Modified Content</l></cont></data>
Modify_Device_Data_Again
[Documentation] Send a request to change the sample test data and check that the request went OK.
Check_Device_Data_Is_Modified_Again
[Documentation] Get the device data and make sure it contains the created content.
- Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Another Modified Content</l></cont></data>
+ Check_Config_Data
+ ... <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Another Modified Content</l></cont></data>
Modify_Device_Data_Label_Via_Json
[Documentation] Send a JSON request to change the sample test data label and check that the request went OK.
${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
- TemplatedRequests.Put_As_Json_Templated ${directory_with_template_folders}${/}datamodjson ${template_as_string}
+ TemplatedRequests.Put_As_Json_Templated
+ ... ${directory_with_template_folders}${/}datamodjson
+ ... ${template_as_string}
Check_Device_Data_Label_Is_Modified_Via_Json
[Documentation] Get the device data label as XML and make sure it matches the content posted as JSON in the previous case.
- Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Content Modified via JSON</l></cont></data>
+ Check_Config_Data
+ ... <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Content Modified via JSON</l></cont></data>
Create_Car_List
[Documentation] Send a request to create a list of cars in the sample test data label and check that the request went OK.
[Tags] critical
NetconfKeywords.Wait_Device_Fully_Removed ${device_name}
+
*** Keywords ***
Setup_Everything
[Documentation] Initialize SetupUtils. Setup everything needed for the test cases.
SetupUtils.Setup_Utils_For_Setup_And_Teardown
RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
NetconfKeywords.Setup_Netconf_Keywords
- ${device_type}= BuiltIn.Set_Variable_If """${USE_NETCONF_CONNECTOR}""" == """True""" default ${device_type}
+ ${device_type}= BuiltIn.Set_Variable_If
+ ... """${USE_NETCONF_CONNECTOR}""" == """True"""
+ ... default
+ ... ${device_type}
BuiltIn.Set_Suite_Variable ${device_type}
Teardown_Everything
Get_Config_Data
[Documentation] Get and return the config data from the device.
- ${url}= Builtin.Set_Variable ${REST_API}/network-topology:network-topology/topology=topology-netconf/node=${device_name}/yang-ext:mount?content=config
+ ${url}= Builtin.Set_Variable
+ ... ${REST_API}/network-topology:network-topology/topology=topology-netconf/node=${device_name}/yang-ext:mount?content=config
${data}= TemplatedRequests.Get_As_Xml_From_Uri ${url}
- [Return] ${data}
+ RETURN ${data}
Check_Config_Data
[Arguments] ${expected} ${contains}=False
${data}= Get_Config_Data
- BuiltIn.Run_Keyword_If not ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
- BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
+ IF not ${contains}
+ BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
+ END
+ IF ${contains} BuiltIn.Should_Contain ${data} ${expected}
Count_Netconf_Connectors
- ${count} NetconfKeywords.Count_Netconf_Connectors_For_Device ${device_name}
+ ${count}= NetconfKeywords.Count_Netconf_Connectors_For_Device ${device_name}
Builtin.Should_Be_Equal_As_Strings ${count} 1