Release image version 1.12.2
[testsuite.git] / robot / resources / aai / aai_interface.robot
index 790fa66..6402699 100644 (file)
@@ -1,79 +1,67 @@
 *** Settings ***
 Documentation     The main interface for interacting with A&AI. It handles low level stuff like managing the http request library and A&AI required fields
 Library              RequestsLibrary
-Library                  UUID
-Library           HTTPUtils
+Library                  ONAPLibrary.Utilities
+Library           ONAPLibrary.AAI    WITH NAME     AAI
 Resource            ../global_properties.robot
 
 *** Variables ***
 ${AAI_HEALTH_PATH}  /aai/util/echo?action=long
-${VERSIONED_INDEX_PATH}     /aai/v8
-${AAI_FRONTEND_ENDPOINT}    ${GLOBAL_AAI_SERVER_PROTOCOL}://${GLOBAL_INJECTED_AAI1_IP_ADDR}:${GLOBAL_AAI_SERVER_PORT}
+${VERSIONED_INDEX_PATH}     /aai/v19
+${AAI_FRONTEND_ENDPOINT}    ${GLOBAL_AAI_SERVER_PROTOCOL}://${GLOBAL_INJECTED_AAI_IP_ADDR}:${GLOBAL_AAI_SERVER_PORT}
+${model_invariant_id}    AAI-HealthCheck-Dummy
+${data_path}                ${VERSIONED_INDEX_PATH}/service-design-and-creation/models/model/${model_invariant_id}
+${PUT_data}    {"model-invariant-id": "AAI-HealthCheck-Dummy","model-type": "service"}
+${traversal_data_path}    ${VERSIONED_INDEX_PATH}/query?format=count
+${traversal_data}   {"start" : "service-design-and-creation/models"}
 
 
 *** Keywords ***
 Run A&AI Health Check
     [Documentation]    Runs an A&AI health check
-    ${resp}=    Run A&AI Get Request    ${AAI_HEALTH_PATH}
+    ${resp}=    AAI.Run Get Request    ${AAI_FRONTEND_ENDPOINT}    ${AAI_HEALTH_PATH}    auth=${GLOBAL_AAI_AUTHENTICATION}
     Should Be Equal As Strings         ${resp.status_code}     200
 
-Run A&AI Get Request
-    [Documentation]    Runs an A&AI get request
-    [Arguments]    ${data_path}
-    Disable Warnings
-    ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
-    ${session}=    Create Session      aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Get Request     aai     ${data_path}     headers=${headers}
-    Log    Received response from aai ${resp.text}
-    [Return]    ${resp}
+Run Resource API AAI Inventory check
+    [Documentation]    Runs  A&AI Inventory health check Resource API
+    ${GET_res}=    AAI.Run Get Request    ${AAI_FRONTEND_ENDPOINT}    ${data_path}    auth=${GLOBAL_AAI_AUTHENTICATION}
+    Run Keyword If    ${GET_res.status_code}== 200    Run Delete dummy data    ${GET_res}
+    Run Resource API
 
-Run A&AI Put Request
-    [Documentation]    Runs an A&AI put request
-    [Arguments]    ${data_path}    ${data}
-    Disable Warnings
-    ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
-    ${session}=    Create Session      aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Put Request     aai     ${data_path}     data=${data}    headers=${headers}
-    Log    Received response from aai ${resp.text}
-    [Return]    ${resp}
+Run Delete dummy data
+    [Documentation]    Delete Existing dummy data
+    [Arguments]   ${GET_res}
+    ${json} =      Set Variable   ${GET_res.json()}
+    ${resource_version}  Set Variable  ${json["resource-version"]}
+    ${delete_response}=    AAI.Run Delete Request    ${AAI_FRONTEND_ENDPOINT}    ${data_path}    ${resource_version}    auth=${GLOBAL_AAI_AUTHENTICATION}
+    Should Be Equal As Strings  ${delete_response.status_code}     204
 
-Run A&AI Post Request
-    [Documentation]    Runs an A&AI Post request
-    [Arguments]    ${data_path}    ${data}
-    Disable Warnings
-    ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
-    ${session}=    Create Session      aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Post Request    aai     ${data_path}     data=${data}    headers=${headers}
-    Log    Received response from aai ${resp.text}
-    [Return]    ${resp}
+Run Resource API
+    [Documentation]    Resource API check with put get and delete request
+    #PUT Request
+    ${Put_resp}=    AAI.Run Put Request    ${AAI_FRONTEND_ENDPOINT}    ${data_path}    ${PUT_data}    auth=${GLOBAL_AAI_AUTHENTICATION}
+    Should Be Equal As Strings  ${Put_resp.status_code}     201
+    #GET Request
+    ${GET_resp}=    AAI.Run Get Request    ${AAI_FRONTEND_ENDPOINT}    ${data_path}    auth=${GLOBAL_AAI_AUTHENTICATION}
+    Should Be Equal As Strings  ${GET_resp.status_code}     200
+    ${res_body}=   Convert to string     ${GET_resp.content}
+    Should contain    ${res_body}   ${model_invariant_id}
+    #DELETE Request
+    Run Delete dummy data    ${GET_resp}
 
-Run A&AI Delete Request
-    [Documentation]    Runs an A&AI delete request
-    [Arguments]    ${data_path}    ${resource_version}
-    Disable Warnings
-    ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
-    ${session}=    Create Session      aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Delete Request  aai     ${data_path}?resource-version=${resource_version}       headers=${headers}
-    Log    Received response from aai ${resp.text}
-    [Return]    ${resp}
+Run Traversal API AAI Inventory check
+    [Documentation]    Runs  A&AI Inventory health check Traversal API
+    ${Put_resp}=    AAI.Run Put Request    ${AAI_FRONTEND_ENDPOINT}    ${traversal_data_path}    ${traversal_data}    auth=${GLOBAL_AAI_AUTHENTICATION}
+    Should Be Equal As Strings  ${Put_resp.status_code}     200
 
 Delete A&AI Entity
     [Documentation]    Deletes an entity in A&AI
     [Arguments]    ${uri}
-    ${get_resp}=    Run A&AI Get Request     ${VERSIONED_INDEX PATH}${uri}
-       Run Keyword If    '${get_resp.status_code}' == '200'    Delete A&AI Entity Exists    ${uri}    ${get_resp.json()['resource-version']}
+    ${resp}=    AAI.Run Get Request    ${AAI_FRONTEND_ENDPOINT}    ${VERSIONED_INDEX_PATH}${uri}    auth=${GLOBAL_AAI_AUTHENTICATION}
+       Run Keyword If    '${resp.status_code}' == '200'    Delete A&AI Entity Exists    ${uri}    ${resp.json()['resource-version']}
 
 Delete A&AI Entity Exists
     [Documentation]    Deletes an  A&AI        entity
     [Arguments]    ${uri}    ${resource_version_id}
-    ${put_resp}=    Run A&AI Delete Request    ${VERSIONED_INDEX PATH}${uri}    ${resource_version_id}
+    ${put_resp}=    AAI.Run Delete Request    ${AAI_FRONTEND_ENDPOINT}    ${VERSIONED_INDEX_PATH}${uri}    ${resource_version_id}    auth=${GLOBAL_AAI_AUTHENTICATION}
     Should Be Equal As Strings         ${put_resp.status_code}         204
-