blob: 43d5ff1099c015278d777f3414e8f3d3700f312f [file] [log] [blame]
*** Settings ***
Documentation SCheduler tests
#Library StringTemplater
#Library UUID
Library ../attlibs/UID.py
Library ../attlibs/StringTemplater.py
Library ../attlibs/JSONUtils.py
Library String
Library DateTime
Library Collections
Library OperatingSystem
#Library JSONUtils
Resource scheduler_common.robot
Resource json_templater.robot
*** Variables ****
${VID_TEMPLATES} /assets/templates/changemanagement
${GLOBAL_VID_CALLBACK_URL} http://127.0.0.1:8080/scheduler/v1/loopbacktest/vid
${GLOBAL_VID_USERID} jf9860
${NODES} aaiaic25ctsf0002v,dpa2bhsfe0001v,ctsf0008v,nsbg0002v
${UTC} %Y-%m-%dT%H:%M:%SZ
*** Keywords ***
Create Schedule
[Arguments] ${uuid} ${request_file} ${TEMPLATES} ${workflow}=Unknown ${minutesFromNow}=5
${testid}= Catenate ${uuid}
${testid}= Get Substring ${testid} -4
${dict}= Create Dictionary serviceInstanceId=${uuid} parent_service_model_name=${uuid}
${callbackData}= Fill JSON Template File ${CURDIR}${VID_TEMPLATES}/VidCallbackData.json.template ${dict}
${callbackDataString}= Json Escape ${callbackData}
${map}= Create Dictionary uuid=${uuid} callbackUrl=${GLOBAL_VID_CALLBACK_URL} callbackData=${callbackDataString} testid=${testid} workflow=${workflow} userId=${GLOBAL_VID_USERID}
${nodelist}= Split String ${NODES} ,
${nn}= Catenate 1
# Support up to 4 ChangeWindows
: For ${i} in range 1 4
\ ${today}= Evaluate ((${i}-1)*1440)+${minutesFromNow}
\ ${tomorrow} Evaluate ${today}+1440
\ ${last_time} Evaluate ${today}+30
\ ${start_time}= Get Current Date UTC + ${today} minutes result_format=${UTC}
\ ${end_time}= Get Current Date UTC + ${tomorrow} minutes result_format=${UTC}
\ Set To Dictionary ${map} start_time${i}=${start_time} end_time${i}=${end_time}
: For ${vnf} in @{nodelist}
\ Set To Dictionary ${map} node${nn} ${vnf}
\ ${nn}= Evaluate ${nn}+1
${data}= Fill JSON Template File ${CURDIR}${TEMPLATES}/${request_file} ${map}
${resp}= Post Change Management auth schedules/${uuid} data=${data}
[Return] ${resp}