[Arguments] ${device_name} ${session}=default ${location}=location
[Documentation] Tell Netconf to deconfigure the specified device
${device_type}= Collections.Pop_From_Dictionary ${NetconfKeywords__mounted_device_types} ${device_name}
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Delete_Templated ${DIRECTORY_WITH_DEVICE_TEMPLATES}${/}${device_type} ${template_as_string} session=${session} location=${location}
Deconfigure_Device
Invoke_Yang1.1_Action_Via_Xml_Post
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string} = BuiltIn.Set_Variable {'DEVICE_NAME': '${DEVICE_NAME}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}dataorigaction ${template_as_string}
Invoke_Yang1.1_Action_Via_Json_Post
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string} = BuiltIn.Set_Variable {'DEVICE_NAME': '${DEVICE_NAME}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Json_RFC8040_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}dataorigaction ${template_as_string}
Invoke_Yang1.1_Augmentation_Via_Xml_Post
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string} = BuiltIn.Set_Variable {'DEVICE_NAME': '${DEVICE_NAME}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}augment ${template_as_string}
Invoke_Yang1.1_Augmentation_Via_Json_Post
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string} = BuiltIn.Set_Variable {'DEVICE_NAME': '${DEVICE_NAME}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Json_RFC8040_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}augment ${template_as_string}
Deconfigure_Device_From_Netconf
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}${OPERATIONAL_API} auth=${AUTH}
+ RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
NetconfKeywords.Setup_Netconf_Keywords
${DEVICE_TYPE_RPC} = BuiltIn.Set_Variable_If """${USE_NETCONF_CONNECTOR}""" == """True""" default ${DEVICE_TYPE_RPC}
${DEVICE_TYPE} = CompareStream.Set_Variable_If_At_Most_Nitrogen ${DEVICE_TYPE_RPC} ${DEVICE_TYPE_RPC_CREATE}
Get_Config_Data
[Documentation] Get and return the config data from the device.
- ${url} = Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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}
Create_Device_Data_Label_Via_Xml
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}dataorig ${template_as_string}
Check_Device_Data_Label_Is_Created
Modify_Device_Data_Label_Via_Xml
[Documentation] Send a 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}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Put_As_Xml_Templated ${directory_with_template_folders}${/}datamod1 ${template_as_string}
Check_Device_Data_Label_Is_Modified
Modify_Device_Data_Again
[Documentation] Send a request to change the sample test data and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Put_As_Xml_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}datamod2 ${template_as_string}
Check_Device_Data_Is_Modified_Again
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}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Put_As_Json_Templated ${directory_with_template_folders}${/}datamodjson ${template_as_string}
Check_Device_Data_Label_Is_Modified_Via_Json
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.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}cars ${template_as_string}
Check_Car_List_Created
Add_Device_Data_Item_1_Via_XML_Post
[Documentation] Send a request to create a data item in the test list and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}item1 ${template_as_string}
Check_Item1_Is_Created
Add_Device_Data_Item_2_Via_JSON_Post
[Documentation] Send a JSON request to change the sample test data and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Json_Templated ${directory_with_template_folders}${/}item2 ${template_as_string}
Check_Item2_Is_Created
Delete_Device_Data
[Documentation] Send a request to delete the sample test data on the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Delete_Templated ${directory_with_template_folders}${/}datamod1 ${template_as_string}
TemplatedRequests.Delete_Templated ${directory_with_template_folders}${/}item1 ${template_as_string}
[Documentation] Initialize SetupUtils. Setup everything needed for the test cases.
# Setup resources used by the suite.
SetupUtils.Setup_Utils_For_Setup_And_Teardown
- RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH}
+ RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
NetconfKeywords.Setup_Netconf_Keywords
${device_type_rpc}= BuiltIn.Set_Variable_If """${USE_NETCONF_CONNECTOR}""" == """True""" default ${device_type_rpc}
${device_type} CompareStream.Set_Variable_If_At_Most_Nitrogen ${device_type_rpc} ${device_type_rpc_create}
Get_Config_Data
[Documentation] Get and return the config data from the device.
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${device_name}/yang-ext:mount
+ ${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}
Create_Device_Data_Label_Via_Xml
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}dataorig ${template_as_string}
Check_Device_Data_Label_Is_Created
Modify_Device_Data_Label_Via_Xml
[Documentation] Send a 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}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Put_As_Xml_Templated ${directory_with_template_folders}${/}datamod1 ${template_as_string}
Check_Device_Data_Label_Is_Modified
Modify_Device_Data_Again
[Documentation] Send a request to change the sample test data and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Put_As_Xml_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}datamod2 ${template_as_string}
Check_Device_Data_Is_Modified_Again
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}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Put_As_Json_Templated ${directory_with_template_folders}${/}datamodjson ${template_as_string}
Check_Device_Data_Label_Is_Modified_Via_Json
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.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}cars ${template_as_string}
Check_Car_List_Created
Add_Device_Data_Item_1_Via_XML_Post
[Documentation] Send a request to create a data item in the test list and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}item1 ${template_as_string}
Check_Item1_Is_Created
Add_Device_Data_Item_2_Via_JSON_Post
[Documentation] Send a JSON request to change the sample test data and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Json_Templated ${directory_with_template_folders}${/}item2 ${template_as_string}
Check_Item2_Is_Created
Delete_Device_Data
[Documentation] Send a request to delete the sample test data on the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Delete_Templated ${directory_with_template_folders}${/}datamod1 ${template_as_string}
TemplatedRequests.Delete_Templated ${directory_with_template_folders}${/}item1 ${template_as_string}
[Documentation] Initialize SetupUtils. Setup everything needed for the test cases.
# Setup resources used by the suite.
SetupUtils.Setup_Utils_For_Setup_And_Teardown
- RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH}
+ 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}
BuiltIn.Set_Suite_Variable ${device_type}
Get_Config_Data
[Documentation] Get and return the config data from the device.
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${device_name}/yang-ext:mount
+ ${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}
Setup_Everything
[Documentation] Setup resources and create session for Restconf checking.
SetupUtils.Setup_Utils_For_Setup_And_Teardown
- RequestsLibrary.Create_Session config http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${CONFIG_API} auth=${AUTH}
+ RequestsLibrary.Create_Session config http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
Teardown_Everything
[Documentation] Close the Netconf connection and destroy all sessions in the requests library.
Check_Config_Data
[Arguments] ${node} ${expected} ${contains}=False
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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} session=${node}
BuiltIn.Run_Keyword_Unless ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
Check_Config_Data
[Arguments] ${node} ${expected} ${contains}=False
[Documentation] Get device data from ${node}. Match against ${expected}, strictness given by ${contains}.
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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} session=${node}
BuiltIn.Run_Keyword_Unless ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
... TODO: Needs to be extracted into a suitable Resource as there is
... the same code in at least two other suites (CRUD and clustered
... CRUD).
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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} session=${session}
BuiltIn.Run_Keyword_Unless ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
... TODO: Needs to be extracted into a suitable Resource as there is
... the same code in at least two other suites (CRUD and clustered
... CRUD).
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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} session=${session}
BuiltIn.Run_Keyword_Unless ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
BuiltIn.Set_Suite_Variable ${empty_data} <data xmlns="${ODL_NETCONF_NAMESPACE}"></data>
BuiltIn.Set_Suite_Variable ${original_data} <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Content</l></cont></data>
BuiltIn.Set_Suite_Variable ${modified_data} <data xmlns="${ODL_NETCONF_NAMESPACE}"><cont xmlns="urn:opendaylight:test:netconf:crud"><l>Modified Content</l></cont></data>
- ${url}= Builtin.Set_Variable /network-topology:network-topology/topology/topology-netconf
- BuiltIn.Set_Suite_Variable ${config_topology_url} ${CONFIG_API}${url}
- BuiltIn.Set_Suite_Variable ${operational_topology_url} ${OPERATIONAL_API}${url}
+ ${url}= Builtin.Set_Variable /network-topology:network-topology/topology=topology-netconf
+ BuiltIn.Set_Suite_Variable ${config_topology_url} ${REST_API}${url}
+ BuiltIn.Set_Suite_Variable ${operational_topology_url} ${REST_API}${url}
Get_Topology_Core
[Arguments] ${session}
Check_Config_Data
[Arguments] ${node} ${expected} ${contains}=False
[Documentation] Check that the specified session sees the specified data in the test tool device.
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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} session=${node}
BuiltIn.Run_Keyword_Unless ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
Create_Device_Data
[Documentation] Send some sample test data into the device through node 2 and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_crud_templates}${/}cars ${template_as_string} session=node2
Run_Restperfclient
[Documentation] Deploy and execute restperfclient, asking it to send the specified amount of requests to the netconf connector of the device through node 3.
... The duration of this test case is the main performance metric.
- ${url}= BuiltIn.Set_Variable /restconf/config/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount/car:cars
+ ${url}= BuiltIn.Set_Variable /rests/data/network-topology:network-topology/topology\=topology-netconf/node\=${DEVICE_NAME}/yang-ext:mount/car:cars
RestPerfClient.Invoke_Restperfclient ${TESTTOOL_DEVICE_TIMEOUT} ${url} ip=${ODL_SYSTEM_3_IP}
Check_For_Failed_Requests
RequestsLibrary.Create_Session node2 http://${ODL_SYSTEM_2_IP}:${RESTCONFPORT} headers=${HEADERS_XML} auth=${AUTH}
Check_Data_Present
- ${url}= Builtin.Set_Variable ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount
+ ${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} session=node2
BuiltIn.Should_Be_Equal_As_Strings ${data} <data xmlns="${ODL_NETCONF_NAMESPACE}"></data>
Get_Config_Device_Count
[Documentation] Count number of items in config netconf topology matching ${DEVICE_BASE_NAME}
- ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf session=${entity_ownership_leader_http_session}
+ ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${REST_API}/network-topology:network-topology/topology=topology-netconf session=${entity_ownership_leader_http_session}
BuiltIn.Run_Keyword_And_Return Count_Substring_Occurence substring=${DEVICE_BASE_NAME} main_string=${item_data}
Get_Operational_Device_Count
[Documentation] Count number of items in operational netconf topology matching ${DEVICE_BASE_NAME}
- ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${OPERATIONAL_API}/network-topology:network-topology/topology/topology-netconf session=${entity_ownership_leader_http_session}
+ ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${REST_API}/network-topology:network-topology/topology=topology-netconf?content=nonconfig session=${entity_ownership_leader_http_session}
BuiltIn.Run_Keyword_And_Return Count_Substring_Occurence substring=${DEVICE_BASE_NAME} main_string=${item_data}
Check_Config_Items_Lower_Bound
Get_Config_Device_Count
[Documentation] Count number of items in config netconf topology matching ${DEVICE_BASE_NAME}
- ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${CONFIG_API}/network-topology:network-topology/topology/topology-netconf session=${topology_config_leader_http_session}
+ ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${REST_API}/network-topology:network-topology/topology=topology-netconf session=${topology_config_leader_http_session}
BuiltIn.Run_Keyword_And_Return Count_Substring_Occurence substring=${DEVICE_BASE_NAME} main_string=${item_data}
Get_Operational_Device_Count
[Documentation] Count number of items in operational netconf topology matching ${DEVICE_BASE_NAME}
- ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${OPERATIONAL_API}/network-topology:network-topology/topology/topology-netconf session=${topology_config_leader_http_session}
+ ${item_data} = TemplatedRequests.Get_As_Json_From_Uri ${REST_API}/network-topology:network-topology/topology=topology-netconf?content=nonconfig session=${topology_config_leader_http_session}
BuiltIn.Run_Keyword_And_Return Count_Substring_Occurence substring=${DEVICE_BASE_NAME} main_string=${item_data}
Check_Config_Items_Lower_Bound
Check_Netconf_Up_And_Running
[Arguments] ${pretty_print}=${EMPTY}
[Documentation] Make a request to netconf connector's list of mounted devices and check that the request was successful.
- ${response}= RequestsLibrary.Get_Request ses restconf/config/network-topology:network-topology/topology/topology-netconf${netconf_connector}${pretty_print}
+ ${response}= RequestsLibrary.Get_Request ses rests/data/network-topology:network-topology/topology\=topology-netconf${netconf_connector}${pretty_print}
BuiltIn.Log ${response.text}
${status}= BuiltIn.Run_Keyword_And_Return_Status BuiltIn.Should_Contain ${response.text} data model content does not exist
BuiltIn.Run_Keyword_If ${status} BuiltIn.Set_Suite_Variable ${netconf_not_ready_cause} 5832
Run_RestPerfClient_Directly_On_MDSAL
[Documentation] Deploy and execute restperfclient, asking it to send the specified amount of requests to the MDSAL via Restconf.
- ${url}= BuiltIn.Set_Variable /restconf/config/car:cars
+ ${url}= BuiltIn.Set_Variable /rests/data/car:cars
RestPerfClient.Invoke_Restperfclient ${DIRECT_MDSAL_TIMEOUT} ${url} testcase=direct
Check_For_Failed_Direct_MDSAL_Requests
Run_RestPerfClient_Through_Netconf_Connector
[Documentation] Ask RestPerfClient to send the requests to the MDSAL mapped via netconf topology device.
- ${url}= BuiltIn.Set_Variable /restconf/config/network-topology:network-topology/topology/topology-netconf/node/${test_device}/yang-ext:mount/car:cars
+ ${url}= BuiltIn.Set_Variable /rests/data/network-topology:network-topology/topology\=topology-netconf/node\=${test_device}/yang-ext:mount/car:cars
RestPerfClient.Invoke_Restperfclient ${NETCONF_CONNECTOR_MDSAL_TIMEOUT} ${url} testcase=netconf-connector
Check_For_Failed_Netconf_Connector_Requests
Create_Device_Data
[Documentation] Send some sample test data into the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_crud_templates}${/}cars ${template_as_string}
Run_Restperfclient
[Documentation] Deploy and execute restperfclient, asking it to send the specified amount of requests to the netconf connector of the device.
- ${url}= BuiltIn.Set_Variable /restconf/config/network-topology:network-topology/topology/topology-netconf/node/${DEVICE_NAME}/yang-ext:mount/car:cars
+ ${url}= BuiltIn.Set_Variable /rests/data/network-topology:network-topology/topology\=topology-netconf/node\=${DEVICE_NAME}/yang-ext:mount/car:cars
RestPerfClient.Invoke_Restperfclient ${TESTTOOL_DEVICE_TIMEOUT} ${url} async=false
Check_For_Failed_Requests
Setup_Everything
[Documentation] Setup everything needed for the test cases.
# Setup resources used by the suite.
- RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH}
+ RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT}
SetupUtils.Setup_Utils_For_Setup_And_Teardown
NetconfKeywords.Setup_Netconf_Keywords
Setup_Everything
[Documentation] Setup everything needed for the test cases.
# Setup resources used by the suite.
- RequestsLibrary.Create_Session config http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${CONFIG_API} auth=${AUTH}
- RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH}
+ RequestsLibrary.Create_Session config http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
+ RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT}
SetupUtils.Setup_Utils_For_Setup_And_Teardown
NetconfKeywords.Setup_Netconf_Keywords
Setup_Everything
[Documentation] Setup everything needed for the test cases.
# Setup resources used by the suite.
- RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH}
+ RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT}
SetupUtils.Setup_Utils_For_Setup_And_Teardown
NetconfKeywords.Setup_Netconf_Keywords
${RESTCONFPORT} 8181 # Primary port for ODL RESTCONF, although 8080 should also work.
${RESTCONFPORT_TLS} 8443 # Port for ODL RESTCONF Secure (TLS) operations
${RESTPORT} 8282 # Deprecated. Restconf port used by AD-SAL services. FIXME: Eradicate.
+${REST_API} /rests/data
${REVOKE_TOKEN_API} /oauth2/revoke # FIXME: Move to a separate AAA-related Resource and add description.
${SCOPE} sdn # Scope, used for some types of HTTP requests agains ODL RESTCONF. TODO: Migrate most suites to TemplatedRequests or AuthStandalone, then chose a more descriptive name.
&{SEND_ACCEPT_XML_HEADERS} Content-Type=application/xml Accept=application/xml # Accept and Content type for XML data. TODO: Hide into more specific Resource if possible.
-rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/main:cont/cont1/reset
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/main:cont/augment-main-a:cont1/reset
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/test:cont
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/test:cont
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/test:cont
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/test:cont
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/test:cont
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/test:cont
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/test:cont
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/test:cont
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/car:cars
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/car:cars
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/car:cars
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/car:cars
-restconf/operations/netconf-keystore:add-keystore-entry
+rests/operations/netconf-keystore:add-keystore-entry
-restconf/config/car:cars
+rests/data/car:cars
-restconf/config
+rests/data
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME
-restconf/config/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount
-restconf/operational/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/ietf-netconf-monitoring:netconf-state
+rests/data/network-topology:network-topology/topology=topology-netconf/node=$DEVICE_NAME/yang-ext:mount/ietf-netconf-monitoring:netconf-state?content=nonconfig
-restconf/operations/netconf-node-topology:create-device
+rests/operations/netconf-node-topology:create-device
-restconf/operations/netconf-node-topology:delete-device
+rests/operations/netconf-node-topology:delete-device
-restconf/operations/netconf-node-topology:add-netconf-node
+rests/operations/netconf-node-topology:add-netconf-node