aboutsummaryrefslogtreecommitdiffstats
path: root/tests/optf-cmso/cmso/resources/create_schedule.robot
blob: 43d5ff1099c015278d777f3414e8f3d3700f312f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
*** 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}