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
7 Library OperatingSystem
8 Library ONAPLibrary.Templating WITH NAME Templating
9 Resource global_properties.robot
10 Resource ssh/files.robot
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}
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']}
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}
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}
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}
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
81 [Arguments] ${resource_id}
82 Log Create vFWCL Monitoring Policy
83 Create vFirewall Monitoring Policy ${resource_id}
85 Log Create vFWCL Operational Policy
86 ${op_policy_version}= Create vFirewall Operational Policy ${resource_id}
88 Log Push vFWCL To PDP Group
89 Push vFirewall Policies To PDP Group ${op_policy_version}
91 Log Validate vFWCL Policy
92 Validate the vFWCL Policy
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
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
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}
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']}
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