*** 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 ../attlibs/UID.py Library HTTPUtils Library DateTime Resource misc.robot *** Variables *** *** Variables *** # http://zld03290.vci.att.com:9018 # ${CLOSE_PATH} /vtm/manageChangeRecord/v1/closeCancelChangeRecord ${CLOSE_PORT} 31127 #**************** Test Case Variables ****************** *** Keywords *** vTM Query Template [Documentation] [Arguments] ${alias} ${offset}=0 ${numOfrows}=100 ${display}=[] ${filter}={} ${request}= Create Dictionary offset=${offset} numOfRows=${numOfRows} displayTuple=${display} filterTuple=${filter} Log ${request} ${resp}= vTM Query ${alias} ${request} [Return] ${resp} vTM Query [Documentation] [Arguments] ${alias} ${request} ${url}= Catenate ${GLOBAL_VTM_URL} ${data_path}= Catenate ${GLOBAL_LISTCHANGE_PATH} ${uuid}= Generate UUID ${proxies}= Create Dictionary no=pass ${session}= Create Session ${alias} ${url} verify=True ${auth_string}= B64 Encode ${GLOBAL_VTM_USER}:${GLOBAL_VTM_PASSWORD} #Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} ${headers}= Create Dictionary Authorization=Basic ${auth_string} Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Post Request ${alias} ${data_path} headers=${headers} data=${request} Log Received response from vTM ${resp.text} ${valid}= Create List 200 404 Validate Status ${resp} ${valid} [Return] ${resp} vTM Close Ticket [Documentation] [Arguments] ${alias} ${ticket} ${changeClosedBy}=jf9860 ${url}= Catenate ${GLOBAL_VTM_PROTO}://${GLOBAL_VTM_HOST}:${CLOSE_PORT} ${data_path}= Catenate ${CLOSE_PATH} ${uuid}= Generate UUID ${proxies}= Create Dictionary no=pass ${session}= Create Session ${alias} ${url} verify=True ${auth_string}= B64 Encode ${GLOBAL_VTM_USER}:${GLOBAL_VTM_PASSWORD} ${end}= Get Current Date result_format=epoch exclude_millis=True ${end}= Convert To Integer ${end} ${start}= Evaluate ${end}-60 ${request}= Create Dictionary changeId=${ticket} status=Closed changeClosedBy=${changeClosedBy} closureCode=Successful As Scheduled Set To Dictionary ${request} customerImpacted=Unknown actualStartDate=${start} actualEndDate=${end} #Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} ${headers}= Create Dictionary Authorization=Basic ${auth_string} Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Post Request ${alias} ${data_path} headers=${headers} data=${request} Log Received response from vTM ${resp.json()} ${valid}= Create List 200 404 Validate Status ${resp} ${valid} [Return] ${resp} vTM Cancel Ticket [Documentation] [Arguments] ${alias} ${ticket} ${url}= Catenate ${GLOBAL_VTM_PROTO}://${GLOBAL_VTM_HOST}:${CLOSE_PORT} ${data_path}= Catenate ${CLOSE_PATH} ${uuid}= Generate UUID ${proxies}= Create Dictionary no=pass ${session}= Create Session ${alias} ${url} verify=True ${auth_string}= B64 Encode ${GLOBAL_VTM_USER}:${GLOBAL_VTM_PASSWORD} ${end}= Get Current Date result_format=epoch exclude_millis=True ${end}= Convert To Integer ${end} ${start}= Evaluate ${end}-60 ${request}= Create Dictionary changeId=${ticket} status=Closed changeClosedBy=${GLOBAL_VID_USERID} closureCode=Cancelled closingComments=Cancel requested by user Set To Dictionary ${request} customerImpacted=No ${headers}= Create Dictionary Authorization=Basic ${auth_string} Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Post Request ${alias} ${data_path} headers=${headers} data=${request} Log Received response from vTM ${resp.json()} ${valid}= Create List 200 404 Validate Status ${resp} ${valid} [Return] ${resp}