*** Settings ***
Documentation General Utils library. This library has broad scope, it can be used by any robot system tests.
Library SSHLibrary
-Library HttpLibrary.HTTP
Library String
Library DateTime
Library Process
... strings are checked for existence.
${resp} RequestsLibrary.Get Request ${session} ${OPERATIONAL_NODES_API}/node/${node}
Should Be Equal As Strings ${resp.status_code} 200
- Should Contain ${resp.content} flow-capable-node-connector-statistics
- Should Contain ${resp.content} flow-table-statistics
+ Should Contain ${resp.text} flow-capable-node-connector-statistics
+ Should Contain ${resp.text} flow-table-statistics
Check For Specific Number Of Elements At URI
[Arguments] ${uri} ${element} ${expected_count} ${session}=session
[Documentation] A GET is made to the specified ${URI} and the specific count of a
... given element is done (as supplied by ${element} and ${expected_count})
${resp} RequestsLibrary.Get Request ${session} ${uri}
- Log ${resp.content}
+ Log ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
- Should Contain X Times ${resp.content} ${element} ${expected_count}
+ Should Contain X Times ${resp.text} ${element} ${expected_count}
Log Content
[Arguments] ${resp_content}
[Documentation] A GET is made at the supplied ${URI} and every item in the list of
... ${elements} is verified to exist in the response
${resp} RequestsLibrary.Get Request ${session} ${uri}
- BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.content}
- ... ELSE BuiltIn.Log ${resp.content}
+ BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.text}
+ ... ELSE BuiltIn.Log ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
FOR ${i} IN @{elements}
- Should Contain ${resp.content} ${i}
+ Should Contain ${resp.text} ${i}
END
Check For Elements Not At URI
... return of 404 is treated as empty list. From Neon onwards, an empty list is always
... returned as null, giving 404 on rest call.
${resp} RequestsLibrary.Get Request ${session} ${uri}
- BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.content}
- ... ELSE BuiltIn.Log ${resp.content}
- BuiltIn.Run Keyword If "${check_for_null}" == "True" Builtin.Return From Keyword If ${resp.status_code} == 404
+ BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.text}
+ ... ELSE BuiltIn.Log ${resp.text}
+ BuiltIn.Run Keyword If "${check_for_null}" == "True" Builtin.Return From Keyword If ${resp.status_code} == 404 or ${resp.status_code} == 409
Should Be Equal As Strings ${resp.status_code} 200
FOR ${i} IN @{elements}
- Should Not Contain ${resp.content} ${i}
+ Should Not Contain ${resp.text} ${i}
END
Clean Mininet System
[Arguments] ${rest_uri} ${data} ${headers}=${headers} ${session}=session
[Documentation] Perform a POST rest operation, using the URL and data provided
${resp} = RequestsLibrary.Post Request ${session} ${rest_uri} data=${data} headers=${headers}
- Log ${resp.content}
+ Log ${resp.text}
Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
Remove All Elements At URI
${resp} RequestsLibrary.Delete Request ${session} ${uri}
Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
${resp} RequestsLibrary.Get Request ${session} ${uri}
- Should Be Equal As Strings ${resp.status_code} 404
+ Should Contain ${DELETED_STATUS_CODES} ${resp.status_code}
Remove All Elements If Exist
[Arguments] ${uri} ${session}=session
[Documentation] Delete all elements from an URI if the configuration was not empty
${resp} RequestsLibrary.Get Request ${session} ${uri}
- Run Keyword If '${resp.status_code}'!='404' Remove All Elements At URI ${uri} ${session}
+ Run Keyword If '${resp.status_code}'!='404' and '${resp.status_code}'!='409' Remove All Elements At URI ${uri} ${session}
Add Elements To URI From File
[Arguments] ${dest_uri} ${data_file} ${headers}=${headers} ${session}=session
${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
+ Should Not Contain ${DELETED_STATUS_CODES} ${resp.status_code}
Add Elements To URI From File And Check Validation Error
[Arguments] ${dest_uri} ${data_file} ${headers}=${headers} ${session}=session
... Issues a GET request for ${uri} in ${session} using headers from
... ${headers}. If the request returns a HTTP error, fails. Otherwise
... returns the data obtained by the request.
- ${response}= RequestsLibrary.Get Request ${session} ${uri} ${headers}
- Builtin.Return_From_Keyword_If ${response.status_code} == 200 ${response.text}
- Builtin.Log ${response.text}
- Builtin.Fail The request failed with code ${response.status_code}
+ ${resp}= RequestsLibrary.Get Request ${session} ${uri} ${headers}
+ Builtin.Return_From_Keyword_If ${resp.status_code} == 200 ${resp.text}
+ Builtin.Log ${resp.text}
+ Builtin.Fail The request failed with code ${resp.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}
+ ${resp} = RequestsLibrary.Get Request ${session} ${uri} ${headers}
+ Builtin.Log ${resp.status_code}
+ Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
No Content From URI
[Arguments] ${session} ${uri} ${headers}=${NONE}
... Issues a GET request for ${uri} in ${session} using headers from
... ${headers}. If the request returns a HTTP error, fails. Otherwise
... returns the data obtained by the request.
- ${response}= RequestsLibrary.Get Request ${session} ${uri} ${headers}
- Builtin.Return_From_Keyword_If ${response.status_code} == 404
- Builtin.Log ${response.text}
- Builtin.Fail The request failed with code ${response.status_code}
+ ${resp}= RequestsLibrary.Get Request ${session} ${uri} ${headers}
+ Builtin.Return_From_Keyword_If ${resp.status_code} == 404 or ${resp.status_code} == 409
+ Builtin.Log ${resp.text}
+ Builtin.Fail The request failed with code ${resp.status_code}
Get Index From List Of Dictionaries
[Arguments] ${dictionary_list} ${key} ${value}
${index}= Set Variable -1
FOR ${i} IN RANGE ${length}
${dictionary}= Get From List ${dictionary_list} ${i}
- Run Keyword If """&{dictionary}[${key}]""" == """${value}""" Set Test Variable ${index} ${i}
+ Run Keyword If """${dictionary}[${key}]""" == """${value}""" Set Test Variable ${index} ${i}
END
[Return] ${index}
[Arguments] ${string} ${dictionary_item_occurrence}
[Documentation] Check string for occurrences of items expressed in a list of dictionaries {item=occurrences}. 0 occurences means item is not present.
FOR ${item} IN @{dictionary_item_occurrence}
- Should Contain X Times ${string} ${item} &{dictionary_item_occurrence}[${item}]
+ Should Contain X Times ${string} ${item} ${dictionary_item_occurrence}[${item}]
END
Post Log Check
[Arguments] ${uri} ${body} ${session}=session ${status_codes}=200
[Documentation] Post body to ${uri}, log response content, and check status
${resp}= RequestsLibrary.Post Request ${session} ${uri} ${body}
- Log ${resp.content}
+ Log ${resp.text}
TemplatedRequests.Check Status Code ${resp} ${status_codes}
[Return] ${resp}