diff options
Diffstat (limited to 'tests/optf-cmso/cmso/resources/scheduler_common.robot')
-rw-r--r-- | tests/optf-cmso/cmso/resources/scheduler_common.robot | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/optf-cmso/cmso/resources/scheduler_common.robot b/tests/optf-cmso/cmso/resources/scheduler_common.robot new file mode 100644 index 00000000..dd2f6118 --- /dev/null +++ b/tests/optf-cmso/cmso/resources/scheduler_common.robot @@ -0,0 +1,93 @@ +*** 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} |