Remove trailing spaces in robot scripts
[testsuite.git] / robot / resources / oof_interface.robot
index 49bc292..aadd6a6 100644 (file)
@@ -1,55 +1,59 @@
 *** Settings ***
 Documentation     The main interface for interacting with OOF: SNIRO and Homing Service
 Library           RequestsLibrary
-Library                  UUID
+Library                  ONAPLibrary.Utilities
+Library           OperatingSystem
 Library                  String
 Library           DateTime
 Library           Collections
-Library           JSONUtils
+Library           ONAPLibrary.JSON
+Library           ONAPLibrary.OOF    WITH NAME    OOF
+Library           ONAPLibrary.Templating    WITH NAME    Templating
 Resource          global_properties.robot
-Resource          json_templater.robot
 
 *** Variables ***
 ${OOF_HOMING_HEALTH_CHECK_PATH}       /v1/plans/healthcheck
 ${OOF_SNIRO_HEALTH_CHECK_PATH}        /api/oof/v1/healthcheck
 ${OOF_CMSO_HEALTH_CHECK_PATH}        /cmso/v1/health?checkInterfaces=true
 
-${OOF_CMSO_TEMPLATE_FOLDER}   robot/assets/templates/cmso
+${OOF_CMSO_TEMPLATE_FOLDER}   cmso
 ${OOF_CMSO_UTC}   %Y-%m-%dT%H:%M:%SZ
-${OOF_HOMING_PLAN_FOLDER}    robot/assets/templates/optf-has
-${OOF_OSDF_TEMPLATE_FOLDER}   robot/assets/templates/optf-osdf
+${OOF_HOMING_PLAN_FOLDER}    robot/assets/oof/optf-has
+${OOF_OSDF_TEMPLATE_FOLDER}   robot/assets/oof/optf-osdf
 
 ${OOF_HOMING_ENDPOINT}    ${GLOBAL_OOF_SERVER_PROTOCOL}://${GLOBAL_INJECTED_OOF_HOMING_IP_ADDR}:${GLOBAL_OOF_HOMING_SERVER_PORT}
 ${OOF_SNIRO_ENDPOINT}     ${GLOBAL_OOF_SERVER_PROTOCOL}://${GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR}:${GLOBAL_OOF_SNIRO_SERVER_PORT}
 ${OOF_CMSO_ENDPOINT}      ${GLOBAL_OOF_CMSO_PROTOCOL}://${GLOBAL_INJECTED_OOF_CMSO_IP_ADDR}:${GLOBAL_OOF_CMSO_SERVER_PORT}
+${OOF_OSDF_ENDPOINT}      ${GLOBAL_OOF_SERVER_PROTOCOL}://${GLOBAL_INJECTED_OOF_HOMING_IP_ADDR}:${GLOBAL_OOF_HOMING_SERVER_PORT}
 
-${OOF_HOMING_AUTH}       Basic YWRtaW4xOnBsYW4uMTU=
 
 *** Keywords ***
 Run OOF-Homing Health Check
-     [Documentation]    Runs OOF-Homing Health check
-     ${resp}=    Run OOF-Homing Get Request    ${OOF_HOMING_HEALTH_CHECK_PATH}
-     Should Be Equal As Integers   ${resp.status_code}   200
+       [Documentation]    Runs OOF-Homing Health check
+       ${resp}=    Run OOF-Homing Get Request    ${OOF_HOMING_HEALTH_CHECK_PATH}
+       Should Be Equal As Integers   ${resp.status_code}   200
 
 Run OOF-Homing Get Request
-     [Documentation]    Runs OOF-Homing Get request
-     [Arguments]    ${data_path}
-     ${session}=    Create Session   session   ${OOF_HOMING_ENDPOINT}
-     ${resp}=   Get Request   session   ${data_path}
-     Should Be Equal As Integers   ${resp.status_code}   200
-     Log    Received response from OOF-Homing ${resp.text}
-     [Return]    ${resp}
+       [Documentation]    Runs OOF-Homing Get request
+       [Arguments]    ${data_path}
+       ${session}=    Create Session   session   ${OOF_HOMING_ENDPOINT}
+       ${resp}=   Get Request   session   ${data_path}
+       Should Be Equal As Integers   ${resp.status_code}   200
+       Log    Received response from OOF-Homing ${resp.text}
+       [Return]    ${resp}
 
 RUN OOF-Homing SendPlanWithWrongVersion
-    [Documentation]    It sends a POST request to conductor
+       [Documentation]    It sends a POST request to conductor
     ${session}=    Create Session   optf-cond      ${OOF_HOMING_ENDPOINT}
     ${data}=         Get Binary File     ${OOF_HOMING_PLAN_FOLDER}${/}plan_with_wrong_version.json
-    &{headers}=      Create Dictionary    Authorization=${OOF_HOMING_Auth}    Content-Type=application/json  Accept=application/json
+    ${auth}=  Create List  ${GLOBAL_OOF_HOMING_USERNAME}    ${GLOBAL_OOF_HOMING_PASSWORD}
+    ${session}=    Create Session   session   ${OOF_CMSO_ENDPOINT}   auth=${auth}
+    &{headers}=      Create Dictionary    Content-Type=application/json  Accept=application/json
     ${resp}=         Post Request        optf-cond   /v1/plans     data=${data}     headers=${headers}
     Log               *********************
     Log               response = ${resp}
     Log               body = ${resp.text}
-    ${generatedPlanId}=    Convert To String      ${${resp.json()['id']}['id']}
+    ${generatedPlanId}=    Convert To String      ${resp.json()['id']}
     Set Global Variable     ${generatedPlanId}
     Log              generatedPlanId = ${generatedPlanId}
     Should Be Equal As Integers    ${resp.status_code}    201
@@ -57,18 +61,7 @@ RUN OOF-Homing SendPlanWithWrongVersion
 
 Run OOF-SNIRO Health Check
      [Documentation]    Runs OOF-SNIRO Health check
-     ${resp}=    Run OOF-SNIRO Get Request    ${OOF_SNIRO_HEALTH_CHECK_PATH}
-     Should Be Equal As Integers   ${resp.status_code}   200
-
-Run OOF-SNIRO Get Request
-     [Documentation]    Runs OOF-SNIRO Get request
-     [Arguments]    ${data_path}
-     ${session}=    Create Session   session   ${OOF_SNIRO_ENDPOINT}
-     ${resp}=   Get Request   session   ${data_path}
-     Should Be Equal As Integers   ${resp.status_code}   200
-     Log    Received response from OOF-SNIRO ${resp.text}
-     [Return]    ${resp}
-
+     ${resp}=    OOF.Run SNIRO Get Request    ${OOF_SNIRO_ENDPOINT}    ${OOF_SNIRO_HEALTH_CHECK_PATH}
 
 Run OOF-CMSO Health Check
      [Documentation]    Runs OOF-CMSO Health check
@@ -97,8 +90,8 @@ Run OOF-CMSO Post Scheduler
 
 Run OOF-CMSO Future Schedule
    [Documentation]   Runs CMSO Future Schedule ETE test. One VNF, One Change Window
-   [Arguments]    ${request_file}=OneVnfOneChangeWindow.json.template   ${workflow}=Replace   ${minutesFromNow}=3
-   ${uuid}=   Generate UUID
+   [Arguments]    ${request_file}=OneVnfOneChangeWindow.jinja   ${workflow}=Replace   ${minutesFromNow}=3
+   ${uuid}=   Generate UUID4
    ${resp}=   OOF-CMSO Create Schedule   ${uuid}   ${request_file}   workflow=${workflow}   minutesFromNow=${minutesFromNow}
    Should Be Equal as Strings    ${resp.status_code}    202
    Wait Until Keyword Succeeds    600s    30s    OOF-CMSO Wait For Pending Approval   ${uuid}
@@ -116,7 +109,7 @@ OOF-CMSO Create Schedule
        ${nodelist}=   Create List   node1   node2   node3   node4
        ${nn}=    Catenate    1
     # Support up to 4 ChangeWindows
-    : For   ${i}   IN RANGE   1    4
+    :FOR   ${i}   IN RANGE   1    4
     \  ${today}=    Evaluate   ((${i}-1)*1440)+${minutesFromNow}
     \  ${tomorrow}   Evaluate   ${today}+1440
     \  ${last_time}   Evaluate  ${today}+30
@@ -124,21 +117,20 @@ OOF-CMSO Create Schedule
     \  ${end_time}=    Get Current Date   UTC   + ${tomorrow} minutes   result_format=${OOF_CMSO_UTC}
     \  Set To Dictionary    ${map}   start_time${i}=${start_time}   end_time${i}=${end_time}
     ${requestList}=   Create List
-       : For   ${vnf}   IN    @{nodelist}
+    Templating.Create Environment    oof    ${GLOBAL_TEMPLATE_FOLDER}
+       :FOR   ${vnf}   IN    @{nodelist}
        \   Set To Dictionary    ${map}   node${nn}   ${vnf}
        \   ${nn}=   Evaluate    ${nn}+1
        \   Set To DIctionary   ${dict}   vnfName=${vnf}
-    \   ${requestInfo}=   Fill JSON Template File    ${OOF_CMSO_TEMPLATE_FOLDER}/VidCallbackData.json.template   ${dict}
+    \   ${requestInfo}=   Templating.Apply Template    oof    ${OOF_CMSO_TEMPLATE_FOLDER}/VidCallbackData.jinja   ${dict}
     \   Append To List   ${requestList}   ${requestInfo}
     ${callBackDataMap}=  Create Dictionary   requestType=Update   requestDetails=${requestList}
     ${callbackDataString}=   OOF-CMSO Json Escape    ${callbackDataMap}
     Set To Dictionary   ${map}   callbackData=${callbackDataString}
-    ${data}=   Fill JSON Template File    ${OOF_CMSO_TEMPLATE_FOLDER}/${request_file}   ${map}
+    ${data}=   Templating.Apply Template    oof    ${OOF_CMSO_TEMPLATE_FOLDER}/${request_file}   ${map}
     ${resp}=   Run OOF-CMSO Post Scheduler   cmso/v1/schedules/${uuid}   data=${data}
     [Return]   ${resp}
 
-
-
 OOF-CMSO Wait For Pending Approval
      [Documentation]    Gets the schedule identified by the uuid and checks if it is in the Pending Approval state
      [Arguments]   ${uuid}     ${status}=Pending Approval
@@ -166,7 +158,7 @@ OOF-CMSO Json Escape
 
 Run OOF-OSDF Post Request
     [Documentation]    Runs a scheduler POST request
-    [Arguments]   ${data_path}   ${data}={} ${auth}
+    [Arguments]   ${data_path}   ${auth}    ${data}={}
 
     ${session}=    Create Session   session   ${OOF_OSDF_ENDPOINT}   auth=${auth}
     ${headers}=  Create Dictionary   Accept=application/json    Content-Type=application/json
@@ -174,17 +166,16 @@ Run OOF-OSDF Post Request
     Log    Received response from osdf ${resp.text}
     [Return]    ${resp}
 
-
 Run OOF-OSDF Post Homing
    [Documentation]    Runs a osdf homing request
     ${auth}=  Create List  ${GLOBAL_OOF_OSDF_USERNAME}    ${GLOBAL_OOF_OSDF_PASSWORD}
     ${data}=         Get Binary File     ${OOF_OSDF_TEMPLATE_FOLDER}${/}placement_request.json
-    ${resp}=   Run OOF-OSDF Post Request  /api/oof/placement/v1   data=${data}    auth=${auth}
+    ${resp}=   Run OOF-OSDF Post Request  /api/oof/placement/v1       auth=${auth}    data=${data}
     Should Be Equal As Strings    ${resp.status_code}   204
 
 Run OOF-OSDF Post PCI-OPT
     [Documentation]    Runs a osdf PCI-OPT request
     ${auth}=  Create List  ${GLOBAL_OOF_PCI_USERNAME}    ${GLOBAL_OOF_PCI_PASSWORD}
     ${data}=         Get Binary File     ${OOF_OSDF_TEMPLATE_FOLDER}${/}pci-opt-request.json
-    ${resp}=   Run OOF-OSDF Post Request  /api/oof/pci/v1   data=${data}    auth=${auth}
+    ${resp}=   Run OOF-OSDF Post Request  /api/oof/pci/v1   auth=${auth}    data=${data}
     Should Be Equal As Strings    ${resp.status_code}   204