AAI services registration via MSB
[oom.git] / kubernetes / robot / resources / config / robot / resources / policy_interface.robot
1 *** Settings ***
2 Documentation     The main interface for interacting with Policy. It handles low level stuff like managing the http request library and Policy required fields
3 Library           RequestsClientCert
4 Library               RequestsLibrary
5 Library           String
6 Library           JSONUtils
7 Library           Collections
8 Resource          global_properties.robot
9
10 *** Variables ***
11 ${POLICY_HEALTH_CHECK_PATH}        /healthcheck
12 ${POLICY_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_IP_ADDR}:${GLOBAL_POLICY_SERVER_PORT}
13 ${POLICY_HEALTHCHECK_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
14
15 *** Keywords ***
16
17 Run Policy Health Check
18      [Documentation]    Runs Policy Health check
19      ${auth}=    Create List    ${GLOBAL_POLICY_USERNAME}    ${GLOBAL_POLICY_PASSWORD}
20      Log    Creating session ${POLICY_ENDPOINT}
21      ${session}=    Create Session      policy  ${POLICY_HEALTHCHECK_ENDPOINT}   auth=${auth}
22      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
23      ${resp}=   Get Request     policy  ${POLICY_HEALTH_CHECK_PATH}     headers=${headers}
24      Log    Received response from policy ${resp.text}
25      Should Be Equal As Strings         ${resp.status_code}     200
26      Should Be True     ${resp.json()['healthy']}
27      @{ITEMS}=    Copy List    ${resp.json()['details']}
28      :FOR    ${ELEMENT}    IN    @{ITEMS}
29      \    Should Be Equal As Strings    ${ELEMENT['code']}      200
30      \    Should Be True    ${ELEMENT['healthy']}
31 Run Policy Put Request
32      [Documentation]    Runs Policy Put request
33      [Arguments]    ${data_path}  ${data}
34      Log    Creating session ${POLICY_ENDPOINT}
35      ${session}=    Create Session      policy  ${POLICY_ENDPOINT}
36      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}    Environment=TEST
37      ${resp}=   Put Request     policy  ${data_path}     data=${data}    headers=${headers}
38      Log    Received response from policy ${resp.text}
39      [Return]    ${resp}
40 Run Policy Delete Request
41      [Documentation]    Runs Policy Delete request
42      [Arguments]    ${data_path}  ${data}
43      Log    Creating session ${POLICY_ENDPOINT}
44      ${session}=    Create Session      policy  ${POLICY_ENDPOINT}
45      ${headers}=    Create Dictionary     Accept=application/json    Content-Type=application/json    Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}    Environment=TEST
46      ${resp}=   Delete Request  policy  ${data_path}    data=${data}    headers=${headers}
47      Log    Received response from policy ${resp.text}
48      [Return]    ${resp}
49 Run Policy Get Configs Request
50     [Documentation]    Runs Policy Get Configs request
51     [Arguments]    ${data_path}  ${data}
52     Log    Creating session ${POLICY_ENDPOINT}
53     ${session}=    Create Session       policy  ${POLICY_ENDPOINT}
54     ${headers}=    Create Dictionary     Accept=application/json    Content-Type=application/json    Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}    
55     ${resp}=    Post Request    policy  ${data_path}    data=${data}    headers=${headers}
56     Log    Received response from policy ${resp.text}
57     [Return]    ${resp}