*** 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 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
+${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}
- ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD}
- ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} 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 A&AI Put Request
- [Documentation] Runs an A&AI put request
- [Arguments] ${data_path} ${data}
- ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD}
- ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} 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 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 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}
- ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD}
- ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} 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 A&AI Delete Request
- [Documentation] Runs an A&AI delete request
- [Arguments] ${data_path} ${resource_version}
- ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD}
- ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} 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 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 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
+ [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}
- Should Be Equal As Strings ${put_resp.status_code} 204
-
-
\ No newline at end of file
+ [Arguments] ${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