aboutsummaryrefslogtreecommitdiffstats
path: root/robot/resources/openstack/openstack_common.robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/openstack/openstack_common.robot')
-rw-r--r--robot/resources/openstack/openstack_common.robot46
1 files changed, 38 insertions, 8 deletions
diff --git a/robot/resources/openstack/openstack_common.robot b/robot/resources/openstack/openstack_common.robot
index 6a53ab63..ef370c66 100644
--- a/robot/resources/openstack/openstack_common.robot
+++ b/robot/resources/openstack/openstack_common.robot
@@ -1,34 +1,47 @@
*** Settings ***
Documentation The private interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields
+Library Collections
Library OpenstackLibrary
Library RequestsLibrary
-Library UUID
+Library UUID
Resource ../global_properties.robot
+*** Variables ***
+#**************** Test Case Variables ******************
+${OPENSTACK_SERVICE_REGION}
+
*** Keywords ***
Internal Get Openstack
[Documentation] Runs an Openstack Get Request and returns the response
- [Arguments] ${alias} ${service_type} ${region} ${url_ext} ${data_path}=
+ [Arguments] ${alias} ${service_type} ${url_ext} ${data_path}=
+ ${region}= Get Openstack Region
+ ${resp}= Internal Get Openstack With Region ${alias} ${service_type} ${region} ${url_ext} ${data_path}
+ [Return] ${resp}
+
+Internal Get Openstack With Region
+ [Documentation] Runs an Openstack Get Request and returns the response
+ [Arguments] ${alias} ${service_type} ${region} ${url_ext} ${data_path}=
Log Internal Get Openstack values alias=${alias} service_type=${service_type} region=${region} url_ext=${url_ext} data_path=${data_path}
${url}= Get Openstack Service Url ${alias} ${service_type} ${region}
${uuid}= Generate UUID
${session_alias}= Catenate openstack-${uuid}
- ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True
+ ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True
${token}= Get Openstack Token ${alias}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-Auth-Token=${token}
${resp}= Get Request ${session_alias} ${data_path} headers=${headers}
- Log Received response from openstack ${resp.text}
+ Log Received response from openstack ${resp.text}
[Return] ${resp}
Internal Post Openstack
[Documentation] Runs an Openstack Post Response and returns the response
- [Arguments] ${alias} ${service_type} ${region} ${url_ext} ${data_path}= ${data}=
+ [Arguments] ${alias} ${service_type} ${url_ext} ${data_path}= ${data}=
+ ${region}= Get Openstack Region
Log Internal Post Openstack values alias=${alias} service_type=${service_type} region=${region} url_ext=${url_ext} data_path=${data_path}
${url}= Get Openstack Service Url ${alias} ${service_type} ${region}
${uuid}= Generate UUID
${session_alias}= Catenate openstack-${uuid}
- ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True
+ ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True
${token}= Get Openstack Token ${alias}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-Auth-Token=${token}
${resp}= Post Request ${session_alias} ${data_path} data=${data} headers=${headers}
@@ -37,7 +50,8 @@ Internal Post Openstack
Internal Delete Openstack
[Documentation] Runs an Openstack Delete Request and returns the response
- [Arguments] ${alias} ${service_type} ${region} ${url_ext} ${data_path}=
+ [Arguments] ${alias} ${service_type} ${url_ext} ${data_path}=
+ ${region}= Get Openstack Region
Log Internal Post Openstack values alias=${alias} service_type=${service_type} region=${region} url_ext=${url_ext} data_path=${data_path}
${url}= Get Openstack Service Url ${alias} ${service_type} ${region}
${uuid}= Generate UUID
@@ -47,4 +61,20 @@ Internal Delete Openstack
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-Auth-Token=${token}
${resp}= Delete Request ${session_alias} ${data_path} headers=${headers}
Log Received response from openstack ${resp.text}
- [Return] ${resp} \ No newline at end of file
+ [Return] ${resp}
+
+Get Openstack Region
+ [Documentation] Returns the current openstack region test variable
+ ... Defaults to the openstack region of the Robot VM
+ Return From Keyword If len('${OPENSTACK_SERVICE_REGION}') > 0 ${OPENSTACK_SERVICE_REGION}
+ Dictionary Should Contain Key ${GLOBAL_VM_PROPERTIES} region
+ Set Test Variable ${OPENSTACK_SERVICE_REGION} ${GLOBAL_VM_PROPERTIES['region']}
+ Log Setting OPENSTACK_SERVICE_REGION=${OPENSTACK_SERVICE_REGION}
+ [Return] ${OPENSTACK_SERVICE_REGION}
+
+Set Openstack Region Test Variable
+ [Documentation] Sets the openstack service region of the current test case
+ ... To be used to override the service region of the Robot VM (default)
+ [Arguments] ${openstack_service_region}
+ Set Test Variable ${OPENSTACK_SERVICE_REGION} ${openstack_service_region}
+