| *** 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} |