Remove deprecated Policy Component Tests
[testsuite.git] / 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               RequestsLibrary
4 Library           String
5 Library           Collections
6 Library           SSHLibrary
7 Library           OperatingSystem
8 Library           ONAPLibrary.Templating    WITH NAME    Templating
9 Resource          global_properties.robot
10 Resource          ssh/files.robot
11
12 *** Variables ***
13 ${POLICY_NEW_HEALTHCHECK_PATH}        /policy/pap/v1/components/healthcheck
14 ${POLICY_NEW_HEALTHCHECK_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_PAP_IP_ADDR}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
15 ${POLICY_TEMPLATES}        policy
16 ${POLICY_API_IP}    ${GLOBAL_INJECTED_POLICY_API_IP_ADDR}
17 ${POLICY_PAP_IP}    ${GLOBAL_INJECTED_POLICY_PAP_IP_ADDR}
18 ${POLICY_PDPX_IP}       ${GLOBAL_INJECTED_POLICY_PDPX_IP_ADDR}
19 ${POLICY_HEALTHCHECK_USERNAME}          ${GLOBAL_POLICY_HEALTHCHECK_USERNAME}
20 ${POLICY_HEALTHCHECK_PASSWORD}          ${GLOBAL_POLICY_HEALTHCHECK_PASSWORD}
21
22
23 *** Keywords ***
24
25 Run Policy Health Check
26      [Documentation]    Runs Policy Health Check
27      ${auth}=    Create List     ${GLOBAL_POLICY_HEALTHCHECK_USERNAME}   ${GLOBAL_POLICY_HEALTHCHECK_PASSWORD}
28      Log    Creating session ${POLICY_NEW_HEALTHCHECK_ENDPOINT}
29      ${session}=    Create Session  policy  ${POLICY_NEW_HEALTHCHECK_ENDPOINT}   auth=${auth}
30      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
31      ${resp}=   Get Request   policy  ${POLICY_NEW_HEALTHCHECK_PATH}    headers=${headers}
32      Log    Received response from policy ${resp.text}
33      Should Be Equal As Strings   ${resp.status_code}   200
34      Should Be True   ${resp.json()['healthy']}
35
36 Run Policy Pap Get Request
37      [Documentation]    Runs Policy Pap Get request
38      [Arguments]    ${data_path}
39      ${auth}=    Create List   ${POLICY_HEALTHCHECK_USERNAME}    ${POLICY_HEALTHCHECK_PASSWORD}
40      Log    Creating session ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
41      ${session}=    Create Session      policy  ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}   auth=${auth}
42      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
43      ${resp}=   Get Request     policy   ${data_path}     headers=${headers}
44      Log    Received response from Policy Pap ${resp.text}
45      [Return]   ${resp}
46
47 Run Policy Api Post Request
48      [Documentation]    Runs Policy Api Post request
49      [Arguments]    ${data_path}  ${data}
50      ${auth}=    Create List    ${POLICY_HEALTHCHECK_USERNAME}    ${POLICY_HEALTHCHECK_PASSWORD}
51      ${session}=    Create Session      policy  ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_API_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}   auth=${auth}
52      Log    Creating session ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_API_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
53      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
54      ${resp}=   Post Request    policy   ${data_path}     data=${data}    headers=${headers}
55      Log    Received response from policy ${resp.text}
56      [Return]    ${resp}
57
58 Run Policy Pap Post Request
59      [Documentation]    Runs Policy Pap Post request
60      [Arguments]    ${data_path}  ${data}
61      ${auth}=    Create List    ${POLICY_HEALTHCHECK_USERNAME}    ${POLICY_HEALTHCHECK_PASSWORD}
62      ${session}=    Create Session      policy  ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}   auth=${auth}
63      Log    Creating session ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
64      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
65      ${resp}=   Post Request    policy   ${data_path}     data=${data}    headers=${headers}
66      Log    Received response from policy ${resp.text}
67      [Return]    ${resp}
68
69 Undeploy Policy
70      [Documentation]    Runs Policy PAP Undeploy a Policy from PDP Groups
71      [Arguments]    ${policy_name}
72      ${auth}=    Create List    ${POLICY_HEALTHCHECK_USERNAME}    ${POLICY_HEALTHCHECK_PASSWORD}
73      ${session}=    Create Session      policy  ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}   auth=${auth}
74      Log    Creating session ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
75      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
76      ${resp}=   Delete Request     policy  /policy/pap/v1/pdps/policies/${policy_name}     headers=${headers}
77      Log    Received response from policy ${resp.text}
78      Should Be Equal As Strings    ${resp.status_code}     200
79
80 Update vVFWCL Policy
81     [Arguments]   ${resource_id}
82     Log   Create vFWCL Monitoring Policy
83     Create vFirewall Monitoring Policy    ${resource_id}
84     Sleep   5s
85     Log   Create vFWCL Operational Policy
86     ${op_policy_version}=   Create vFirewall Operational Policy   ${resource_id}
87     Sleep   5s
88     Log   Push vFWCL To PDP Group
89     Push vFirewall Policies To PDP Group    ${op_policy_version}
90     Sleep    20s
91     Log   Validate vFWCL Policy
92     Validate the vFWCL Policy
93
94 Validate the vFWCL Policy
95     ${resp}=   Run Policy Pap Get Request   /policy/pap/v1/pdps
96     Log    Received response from policy ${resp.text}
97     Should Be Equal As Strings         ${resp.status_code}     200
98
99 Create vFirewall Monitoring Policy
100     [Arguments]   ${resource_id}
101      ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
102     Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
103      ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_policy_monitoring_input_tosca.jinja    ${dict}
104      ${resp}=   Run Policy Api Post Request    /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies     ${data}
105      Should Be Equal As Strings         ${resp.status_code}     200
106
107 Create vFirewall Operational Policy
108     [Arguments]   ${resource_id}
109     ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
110     Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
111     ${data_2}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_policy_operational_content_input.jinja   ${dict}
112     Log    ${data_2}
113     ${resp}=   Run Policy Api Post Request    /policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies    ${data_2}
114     Should Be Equal As Strings         ${resp.status_code}     200
115     [Return]    ${resp.json()['version']}
116
117 Push vFirewall Policies To PDP Group
118     [Arguments]    ${op_policy_version}
119     ${dict}=   Create Dictionary    OP_POLICY_VERSION=${op_policy_version}
120     Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
121     ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_push.jinja    ${dict}
122     ${resp}=   Run Policy Pap Post Request    /policy/pap/v1/pdps/policies   ${data}
123     Should Be Equal As Strings    ${resp.status_code}     200