*** 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 "${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
Run Command On Mininet ${system} sudo ovs-vsctl del-manager
Extract Value From Content
- [Arguments] ${content} ${index} ${strip}=nostrip
+ [Arguments] ${content} ${index}
[Documentation] Will take the given response content and return the value at the given index as a string
- ${value}= Get Json Value ${content} ${index}
- ${value}= Convert To String ${value}
- ${value}= Run Keyword If '${strip}' == 'strip' Strip Quotes ${value}
+ ${JSON} = Evaluate json.loads('''${content}''') json
+ ${value} = Set Variable ${JSON${index}}
[Return] ${value}
Get Process ID Based On Regex On Remote 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
${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}