Library ${CURDIR}/UtilLibrary.py
Resource ${CURDIR}/SSHKeywords.robot
Resource ${CURDIR}/TemplatedRequests.robot
-Variables ${CURDIR}/../variables/Variables.py
+Resource ${CURDIR}/../variables/Variables.robot
*** Variables ***
# TODO: Introduce ${tree_size} and use instead of 1 in the next line.
Add Elements To URI From File
[Arguments] ${dest_uri} ${data_file} ${headers}=${headers} ${session}=session
+ [Documentation] Put data from a file to a URI
${body} OperatingSystem.Get File ${data_file}
${resp} RequestsLibrary.Put Request ${session} ${dest_uri} data=${body} headers=${headers}
Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
Add Elements To URI From File And Verify
[Arguments] ${dest_uri} ${data_file} ${headers}=${headers} ${session}=session
+ [Documentation] Put data from a file to a URI and verify the HTTP response
${body} OperatingSystem.Get File ${data_file}
- ${resp} RequestsLibrary.Put Request ${session} ${dest_uri} data=${body} headers=${headers}
- Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
- ${resp} RequestsLibrary.Get Request ${session} ${dest_uri}
- Should Not Be Equal ${resp.status_code} 404
+ Add Elements to URI And Verify ${dest_uri} ${body} ${headers} ${session}
Add Elements To URI And Verify
- [Arguments] ${dest_uri} ${data_file} ${headers}=${headers} ${session}=session
- ${resp} RequestsLibrary.Put Request ${session} ${dest_uri} ${data_file} headers=${headers}
+ [Arguments] ${dest_uri} ${data} ${headers}=${headers} ${session}=session
+ [Documentation] Put data to a URI and verify the HTTP response
+ ${resp} RequestsLibrary.Put Request ${session} ${dest_uri} ${data} headers=${headers}
Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
${resp} RequestsLibrary.Get Request ${session} ${dest_uri}
Should Not Be Equal ${resp.status_code} 404
Builtin.Log ${response.text}
Builtin.Fail The request failed with code ${response.status_code}
+Get URI And Verify
+ [Arguments] ${uri} ${session}=session ${headers}=${NONE}
+ [Documentation] Issue a GET request and verify a successfull HTTP return.
+ ... Issues a GET request for ${uri} in ${session} using headers from ${headers}.
+ ${response} = RequestsLibrary.Get Request ${session} ${uri} ${headers}
+ Builtin.Log ${response.status_code}
+ Should Contain ${ALLOWED_STATUS_CODES} ${response.status_code}
+
No Content From URI
[Arguments] ${session} ${uri} ${headers}=${NONE}
[Documentation] Issue a GET request and return on error 404 (No content) or will fail and log the content.
... log files if they happen to run in one job.
${name}= BuiltIn.Evaluate """${SUITE_NAME}""".replace(" ","-").replace("/","-").replace(".","-")
${suffix}= BuiltIn.Set_Variable_If '${testcase}' != '' --${testcase} ${EMPTY}
- [Return] ${testtool}--${name}${suffix}.log
+ ${date} = DateTime.Get Current Date
+ ${timestamp} = DateTime.Convert Date ${date} epoch
+ [Return] ${testtool}--${name}${suffix}.${timestamp}.log
Set_User_Configurable_Variable_Default
[Arguments] ${name} ${value}
SSHLibrary.Close_Connection
[Teardown] SSHKeywords.Restore_Current_SSH_Connection_From_Index ${current_connection.index}
[Return] ${output}
+
+Check Diagstatus
+ [Arguments] ${ip_address}=${ODL_SYSTEM_IP} ${check_status}=True ${expected_status}=${200}
+ [Documentation] GET http://${ip_address}:${RESTCONFPORT}/diagstatus and return the response. ${check_status}
+ ... and ${expected_status_code} can be used to ignore the status code, or validate any status code value.
+ ... By default, this keyword will pass if the status code returned is 200, and fail otherwise.
+ RequestsLibrary.Create Session diagstatus_session http://${ip_address}:${RESTCONFPORT}
+ ${resp} RequestsLibrary.Get Request diagstatus_session /diagstatus
+ Run Keyword If "${check_status}" == "True" BuiltIn.Should Be Equal As Strings ${resp.status_code} ${expected_status}
+ [Return] ${resp}