blob: dd2f6118135a10ac75244930589aaba9a5a1ffc9 [file] [log] [blame]
*** 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 RequestsLibrary
#Library UUID
Library ../attlibs/UID.py
#Library HTTPUtils
Library ../attlibs/HTTPUtils.py
Library String
Resource misc.robot
*** Variables ***
*** Variables ***
${GLOBAL_SCHEDULER_PORT} 8080
${GLOBAL_SCHEDULER_PROTOCOL} http
#${GLOBAL_SCHEDULER_HOST} 127.0.0.1
${GLOBAL_SCHEDULER_USER} jf9860@csp.att.com
${GLOBAL_SCHEDULER_PASSWORD} 45=Forty5
${GLOBAL_APPLICATION_ID} schedulertest
${SCHEDULER_PATH} /cmso/v1
${CHANGE_MANAGEMENT_PATH} ${SCHEDULER_PATH}
${valid_status_codes} 200 202 400 404 204 409
#**************** Test Case Variables ******************
*** Keywords ***
Post Change Management
[Documentation] Runs a scheduler POST request
[Arguments] ${alias} ${resource} ${data}={}
${data_path}= Catenate ${CHANGE_MANAGEMENT_PATH}/${resource}
${resp}= Post Scheduler ${alias} ${data_path} ${data}
[Return] ${resp}
Delete Change Management
[Documentation] Runs a scheduler DELETE request (this may need to be changed for 1802 US change Delete schedule to Cancel Schedule)
[Arguments] ${alias} ${resource}
${data_path}= Catenate ${CHANGE_MANAGEMENT_PATH}/${resource}
${resp}= Delete Scheduler ${alias} ${data_path}
[Return] ${resp}
Get Change Management
[Documentation] Runs a scheduler GET request
[Arguments] ${alias} ${resource}
${data_path}= Catenate ${CHANGE_MANAGEMENT_PATH}/${resource}
${resp}= Get Scheduler ${alias} ${data_path}
[Return] ${resp}
Post Scheduler
[Documentation] Runs a scheduler POST request
[Arguments] ${alias} ${data_path} ${data}={}
${url}= Catenate ${GLOBAL_SCHEDULER_PROTOCOL}://${GLOBAL_SCHEDULER_HOST}:${GLOBAL_SCHEDULER_PORT}
${uuid}= Generate UUID
${proxies}= Create Dictionary no=pass
${session}= Create Session ${alias} ${url}
${auth_string}= B64 Encode ${GLOBAL_SCHEDULER_USER}:${GLOBAL_SCHEDULER_PASSWORD}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} Authorization=Basic ${auth_string}
${resp}= Post Request ${alias} ${data_path} headers=${headers} data=${data}
Log Received response from scheduler ${resp.text}
${valid}= Split String ${valid_status_codes}
Validate Status ${resp} ${valid}
[Return] ${resp}
Delete Scheduler
[Documentation] Runs a scheduler POST request
[Arguments] ${alias} ${data_path}
${url}= Catenate ${GLOBAL_SCHEDULER_PROTOCOL}://${GLOBAL_SCHEDULER_HOST}:${GLOBAL_SCHEDULER_PORT}
${uuid}= Generate UUID
${proxies}= Create Dictionary no=pass
${session}= Create Session ${alias} ${url}
${auth_string}= B64 Encode ${GLOBAL_SCHEDULER_USER}:${GLOBAL_SCHEDULER_PASSWORD}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} Authorization=Basic ${auth_string}
${resp}= Delete Request ${alias} ${data_path} headers=${headers}
Log Received response from scheduler ${resp.text}
${valid}= Split String ${valid_status_codes}
Validate Status ${resp} ${valid}
[Return] ${resp}
Get Scheduler
[Documentation] Runs a scheduler GET request
[Arguments] ${alias} ${data_path}
${url}= Catenate ${GLOBAL_SCHEDULER_PROTOCOL}://${GLOBAL_SCHEDULER_HOST}:${GLOBAL_SCHEDULER_PORT}
${uuid}= Generate UUID
${proxies}= Create Dictionary no=pass
${session}= Create Session ${alias} ${url}
${auth_string}= B64 Encode ${GLOBAL_SCHEDULER_USER}:${GLOBAL_SCHEDULER_PASSWORD}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} Authorization=Basic ${auth_string}
${resp}= Get Request ${alias} ${data_path} headers=${headers}
Log Received response from scheduler ${resp.json()}
${valid}= Split String ${valid_status_codes}
Validate Status ${resp} ${valid}
[Return] ${resp}