move rest of stirngtemplating off old format
[testsuite.git] / robot / resources / aai / aai_interface.robot
1 *** Settings ***
2 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
3 Library               RequestsLibrary
4 Library           ONAPLibrary.Utilities
5 Resource            ../global_properties.robot
6
7 *** Variables ***
8 ${AAI_HEALTH_PATH}  /aai/util/echo?action=long
9 ${VERSIONED_INDEX_PATH}     /aai/v11
10 ${AAI_FRONTEND_ENDPOINT}    ${GLOBAL_AAI_SERVER_PROTOCOL}://${GLOBAL_INJECTED_AAI1_IP_ADDR}:${GLOBAL_AAI_SERVER_PORT}
11
12
13 *** Keywords ***
14 Run A&AI Health Check
15     [Documentation]    Runs an A&AI health check
16     ${resp}=    Run A&AI Get Request    ${AAI_HEALTH_PATH}
17     Should Be Equal As Strings  ${resp.status_code}     200
18
19 Run A&AI Get Request
20     [Documentation]    Runs an A&AI get request
21     [Arguments]    ${data_path}
22     Disable Warnings
23     ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
24     ${session}=    Create Session       aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
25     ${uuid}=    Generate UUID4
26     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
27     ${resp}=    Get Request     aai     ${data_path}     headers=${headers}
28     Log    Received response from aai ${resp.text}
29     [Return]    ${resp}
30
31 Run A&AI Put Request
32     [Documentation]    Runs an A&AI put request
33     [Arguments]    ${data_path}    ${data}
34     Disable Warnings
35     ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
36     ${session}=    Create Session       aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
37     ${uuid}=    Generate UUID4
38     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
39     ${resp}=    Put Request     aai     ${data_path}     data=${data}    headers=${headers}
40     Log    Received response from aai ${resp.text}
41     [Return]    ${resp}
42
43 Run A&AI Post Request
44     [Documentation]    Runs an A&AI Post request
45     [Arguments]    ${data_path}    ${data}
46     Disable Warnings
47     ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
48     ${session}=    Create Session       aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
49     ${uuid}=    Generate UUID4
50     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
51     ${resp}=    Post Request    aai     ${data_path}     data=${data}    headers=${headers}
52     Log    Received response from aai ${resp.text}
53     [Return]    ${resp}
54
55 Run A&AI Delete Request
56     [Documentation]    Runs an A&AI delete request
57     [Arguments]    ${data_path}    ${resource_version}
58     Disable Warnings
59     ${auth}=  Create List  ${GLOBAL_AAI_USERNAME}    ${GLOBAL_AAI_PASSWORD}
60     ${session}=    Create Session       aai     ${AAI_FRONTEND_ENDPOINT}    auth=${auth}
61     ${uuid}=    Generate UUID4
62     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
63     ${resp}=    Delete Request  aai     ${data_path}?resource-version=${resource_version}       headers=${headers}
64     Log    Received response from aai ${resp.text}
65     [Return]    ${resp}
66
67 Delete A&AI Entity
68     [Documentation]    Deletes an entity in A&AI
69     [Arguments]    ${uri}
70     ${get_resp}=    Run A&AI Get Request     ${VERSIONED_INDEX_PATH}${uri}
71         Run Keyword If    '${get_resp.status_code}' == '200'    Delete A&AI Entity Exists    ${uri}    ${get_resp.json()['resource-version']}
72
73 Delete A&AI Entity Exists
74     [Documentation]    Deletes an  A&AI entity
75     [Arguments]    ${uri}    ${resource_version_id}
76     ${put_resp}=    Run A&AI Delete Request    ${VERSIONED_INDEX_PATH}${uri}    ${resource_version_id}
77     Should Be Equal As Strings  ${put_resp.status_code}         204
78