2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.policy.pdp.rest.api.test;
22 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
23 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
24 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
25 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
26 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
27 import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
29 import java.io.IOException;
30 import java.lang.reflect.InvocationTargetException;
31 import java.lang.reflect.Method;
32 import java.util.Date;
33 import java.util.HashMap;
35 import java.util.UUID;
37 import org.junit.Before;
38 import org.junit.Test;
39 import org.junit.runner.RunWith;
40 import org.onap.policy.api.AttributeType;
41 import org.onap.policy.api.ConfigRequestParameters;
42 import org.onap.policy.api.DecisionRequestParameters;
43 import org.onap.policy.api.DeletePolicyCondition;
44 import org.onap.policy.api.DeletePolicyParameters;
45 import org.onap.policy.api.DictionaryParameters;
46 import org.onap.policy.api.DictionaryType;
47 import org.onap.policy.api.EventRequestParameters;
48 import org.onap.policy.api.PolicyClass;
49 import org.onap.policy.api.PolicyConfigType;
50 import org.onap.policy.api.PolicyParameters;
51 import org.onap.policy.api.PolicyType;
52 import org.onap.policy.api.PushPolicyParameters;
53 import org.onap.policy.pdp.rest.XACMLPdpServlet;
54 import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
55 import org.onap.policy.pdp.rest.api.models.ConfigNameRequest;
56 import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
57 import org.onap.policy.pdp.rest.api.services.CreateUpdatePolicyServiceImpl;
58 import org.onap.policy.pdp.rest.config.PDPRestConfig;
59 import org.onap.policy.utils.PolicyUtils;
60 import org.springframework.beans.factory.annotation.Autowired;
61 import org.springframework.http.HttpHeaders;
62 import org.springframework.http.MediaType;
63 import org.springframework.test.context.ContextConfiguration;
64 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
65 import org.springframework.test.context.web.WebAppConfiguration;
66 import org.springframework.test.web.servlet.MockMvc;
67 import org.springframework.web.context.WebApplicationContext;
69 import com.att.research.xacml.util.XACMLProperties;
71 @RunWith(SpringJUnit4ClassRunner.class)
72 @ContextConfiguration(classes = {PDPRestConfig.class})
74 public class PolicyEngineServicesTest {
75 private static final String CLIENTAUTHHEADER = "ClientAuth";
76 private static final String UUIDHEADER = "X-ECOMP-RequestID";
77 // This value is as per test resource code. Don't change this.
78 private static final String CLIENTAUTHVALUE = "Basic cHl0aG9uOnRlc3Q=";
79 private static final String ERRORCLIENTVALUE = "Basic dGVzdDp0ZXN0MTIz";
81 private MockMvc mockMvc;
82 private HttpHeaders headers;
85 private WebApplicationContext webApplicationContext;
88 public void setup() throws IOException{
89 headers = new HttpHeaders();
90 headers.add(CLIENTAUTHHEADER, CLIENTAUTHVALUE);
91 XACMLProperties.reloadProperties();
92 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/pass.xacml.pdp.properties");
93 XACMLProperties.getProperties();
94 this.mockMvc = webAppContextSetup(webApplicationContext).build();
98 public void getConfigAPIFailureTest() throws Exception{
99 ConfigRequestParameters pep = new ConfigRequestParameters();
100 pep.setPolicyName(".*");
101 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
102 .andExpect(status().is(400));
103 // Authorization tests.
104 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
105 .andExpect(status().isUnauthorized());
106 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
107 .andExpect(status().isUnauthorized());
108 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ERRORCLIENTVALUE))
109 .andExpect(status().isUnauthorized());
110 // Set wrong request.
111 pep.setPolicyName(null);
112 pep.setConfigName("test");
113 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, "123").contentType(MediaType.APPLICATION_JSON))
114 .andExpect(status().isBadRequest());
118 public void getConfigServiceTest() throws Exception{
119 ConfigRequestParameters pep = new ConfigRequestParameters();
120 pep.setPolicyName(".*");
121 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
122 .andExpect(status().isOk());
123 // Without policyName and using onapName and other fields.
124 pep.setPolicyName(null);
125 pep.setOnapName("test");
126 pep.setConfigName("test");
127 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).contentType(MediaType.APPLICATION_JSON))
128 .andExpect(status().isOk());
129 // with config attributes.
130 Map<String, String> configAttributes = new HashMap<>();
131 configAttributes.put("test", "test");
132 pep.setConfigAttributes(configAttributes);
133 pep.makeUnique(true);
134 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).contentType(MediaType.APPLICATION_JSON))
135 .andExpect(status().isOk());
139 public void getConfigByPolicyNameTest() throws Exception{
140 ConfigNameRequest pep = new ConfigNameRequest();
141 pep.setPolicyName(".*");
142 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
143 .andExpect(status().is(400));
144 // Authorization tests.
145 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
146 .andExpect(status().isUnauthorized());
147 mockMvc.perform(post("/getConfigByPolicyName").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
148 .andExpect(status().isOk());
152 public void listConfigTest() throws Exception{
153 ConfigRequestParameters pep = new ConfigRequestParameters();
154 pep.setPolicyName(".*");
155 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
156 .andExpect(status().is(400));
157 // Authorization tests.
158 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
159 .andExpect(status().isUnauthorized());
160 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
161 .andExpect(status().isOk());
165 public void getMetricsTest() throws Exception{
167 mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
168 mockMvc.perform(get("/getMetrics").header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
170 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123")).andExpect(status().isOk());
171 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isOk());
172 mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isOk());
176 public void getNotificationAuthFailureTest() throws Exception{
177 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "").content("test")).andExpect(status().isUnauthorized());
178 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "Basic test123").content("test")).andExpect(status().isUnauthorized());
179 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, ERRORCLIENTVALUE).content(" ")).andExpect(status().isUnauthorized());
183 public void getNotificationTopicFailureTest() throws Exception{
184 mockMvc.perform(post("/getNotification")).andExpect(status().isBadRequest());
185 mockMvc.perform(post("/getNotification").headers(headers).content("")).andExpect(status().isBadRequest());
189 public void getNotificationTopicValidFailTest() throws Exception{
191 mockMvc.perform(post("/getNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
192 mockMvc.perform(post("/stopNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
193 mockMvc.perform(post("/sendHeartbeat").headers(headers).content(" ")).andExpect(status().isBadRequest());
197 public void getNotificationTopicValidPassTest() throws Exception{
198 XACMLProperties.reloadProperties();
199 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/notification.xacml.pdp.properties");
200 XACMLProperties.getProperties();
202 mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test")).andExpect(status().isOk());
203 // Try to add same topic should fail.
204 mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, UUID.randomUUID()).content("test")).andExpect(status().isBadRequest());
206 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isOk());
207 // remove the added Topic.
208 mockMvc.perform(post("/stopNotification").headers(headers).content("test")).andExpect(status().isOk());
209 // try to remove again should fail.
210 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isBadRequest());
214 public void sendEventTest() throws Exception{
215 EventRequestParameters pep = new EventRequestParameters();
216 Map<String,String> eventAttributes = new HashMap<>();
217 eventAttributes.put("TEST", "test");
218 pep.setEventAttributes(eventAttributes);
220 mockMvc.perform(post("/sendEvent")).andExpect(status().isBadRequest());
221 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
223 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
224 .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isOk());
225 pep.setEventAttributes(null);
226 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
227 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
228 pep.setEventAttributes(eventAttributes);
229 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
230 .headers(headers)).andExpect(status().isOk());
231 pep.setEventAttributes(eventAttributes);
232 pep.setRequestID(UUID.randomUUID());
233 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
234 .headers(headers)).andExpect(status().isOk());
238 public void getDecisionTest() throws Exception{
239 DecisionRequestParameters pep = new DecisionRequestParameters();
240 Map<String,String> eventAttributes = new HashMap<>();
241 eventAttributes.put("TEST", "test");
242 pep.setOnapName("te123");
243 pep.setDecisionAttributes(eventAttributes);
245 mockMvc.perform(post("/getDecision")).andExpect(status().isBadRequest());
246 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
248 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
249 .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isOk());
250 pep.setDecisionAttributes(null);
251 pep.setOnapName(null);
252 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
253 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
254 pep.setOnapName("testing");
255 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
256 .headers(headers)).andExpect(status().isBadRequest());
257 pep.setDecisionAttributes(eventAttributes);
258 pep.setRequestID(UUID.randomUUID());
259 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
260 .headers(headers)).andExpect(status().isOk());
264 public void pushPolicyTest() throws Exception{
265 PushPolicyParameters pep = new PushPolicyParameters();
267 mockMvc.perform(put("/pushPolicy")).andExpect(status().isBadRequest());
268 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
270 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
271 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
272 pep.setPolicyName("scopeless");
273 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
274 .headers(headers)).andExpect(status().isBadRequest());
275 pep.setPolicyName("testing.test");
276 pep.setPolicyType("wrong");
277 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
278 .headers(headers)).andExpect(status().isBadRequest());
279 pep.setPolicyType("BRMS_PARAM");
280 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
281 .headers(headers)).andExpect(status().isBadRequest());
282 pep.setPolicyType("BRMS_RAW");
283 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
284 .headers(headers)).andExpect(status().isBadRequest());
285 pep.setPolicyType("MicroService");
286 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
287 .headers(headers)).andExpect(status().isBadRequest());
288 pep.setPolicyType("ClosedLoop_PM");
289 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
290 .headers(headers)).andExpect(status().isBadRequest());
291 pep.setPolicyType("ClosedLoop_Fault");
292 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
293 .headers(headers)).andExpect(status().isBadRequest());
294 pep.setPolicyType("Base");
295 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
296 .headers(headers)).andExpect(status().isBadRequest());
297 pep.setPolicyType("Decision");
298 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
299 .headers(headers)).andExpect(status().isBadRequest());
300 pep.setPolicyType("Action");
301 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
302 .headers(headers)).andExpect(status().isBadRequest());
303 pep.setPolicyType("Firewall");
304 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
305 .headers(headers)).andExpect(status().isBadRequest());
306 pep.setPdpGroup("default");
307 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
308 .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
309 pep.setRequestID(UUID.randomUUID());
310 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
311 .headers(headers)).andExpect(status().isBadRequest());
315 public void deletePolicyTest() throws Exception{
316 DeletePolicyParameters pep = new DeletePolicyParameters();
318 mockMvc.perform(delete("/deletePolicy")).andExpect(status().isBadRequest());
319 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
321 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
322 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
323 pep.setPolicyName("testing");
324 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
325 .headers(headers).header(UUIDHEADER, "test123")).andExpect(status().isBadRequest());
326 pep.setPolicyName("testscope.name");
327 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
328 .headers(headers)).andExpect(status().isBadRequest());
329 pep.setPolicyName("testscope.name");
330 pep.setPolicyType("wrong");
331 pep.setRequestID(UUID.randomUUID());
332 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
333 .headers(headers)).andExpect(status().isBadRequest());
334 pep.setPolicyType("BRMS_PARAM");
335 pep.setPolicyComponent("wrong");
336 pep.setRequestID(null);
337 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
338 .headers(headers)).andExpect(status().isBadRequest());
339 pep.setPolicyType("BRMS_RAW");
340 pep.setPolicyComponent("PDP");
341 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
342 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
343 pep.setPolicyType("MicroService");
344 pep.setPolicyComponent("PAP");
345 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
346 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
347 pep.setPolicyType("ClosedLoop_PM");
348 pep.setPolicyComponent("PDP");
349 pep.setDeleteCondition(DeletePolicyCondition.ALL);
350 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
351 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
352 pep.setPolicyType("ClosedLoop_Fault");
353 pep.setDeleteCondition(DeletePolicyCondition.ONE);
354 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
355 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
356 pep.setPolicyType("Base");
357 pep.setPolicyComponent("PAP");
358 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
359 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
360 pep.setPolicyType("Decision");
361 pep.setPolicyComponent("PDP");
362 pep.setPolicyName("test.xml");
363 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
364 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
365 pep.setPolicyType("Action");
366 pep.setPolicyName("scope.Config_test.xml");
367 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
368 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
369 pep.setPdpGroup("default");
370 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
371 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
372 pep.setPolicyComponent("PAP");
373 pep.setPolicyType("Firewall");
374 pep.setDeleteCondition(null);
375 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
376 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
377 pep.setPolicyComponent("PAP");
378 pep.setDeleteCondition(DeletePolicyCondition.ONE);
379 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
380 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
381 pep.setPolicyComponent("fail");
382 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
383 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
384 pep.setPolicyComponent("PDP");
385 pep.setPolicyName("testscope.policyName");
386 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
387 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
388 pep.setPolicyComponent(null);
389 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
390 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
394 public void createUpdatePolicyTest() throws Exception{
395 PolicyParameters pep = new PolicyParameters();
397 mockMvc.perform(put("/createPolicy")).andExpect(status().isBadRequest());
398 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
399 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
401 setCreateUpdateImpl();
402 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
403 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
404 pep.setPolicyName("failName");
405 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
406 .headers(headers).header(UUIDHEADER, "test 123")).andExpect(status().isBadRequest());
407 pep.setPolicyName("test. name");
408 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
409 .headers(headers)).andExpect(status().isBadRequest());
410 pep.setPolicyName(" ");
411 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
412 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
413 pep.setPolicyName("test. ");
414 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
415 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
416 pep.setPolicyName("te st.name");
417 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
418 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
419 pep.setPolicyName("test.name");
420 pep.setPolicyDescription("testá");
421 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
422 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
423 pep.setPolicyName("test.name");
424 pep.setPolicyDescription("good");
425 pep.setTtlDate(new Date());
426 pep.setRequestID(UUID.randomUUID());
427 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
428 .headers(headers)).andExpect(status().isBadRequest());
432 public void brmsPolicyCreationTests() throws Exception{
433 PolicyParameters pep = new PolicyParameters();
434 pep.setPolicyName("test.name");
435 pep.setPolicyDescription("good");
436 pep.setTtlDate(new Date());
437 pep.setRequestID(UUID.randomUUID());
438 setCreateUpdateImpl();
439 // Checks for BRMS Param Policy.
440 pep.setPolicyConfigType(PolicyConfigType.BRMS_PARAM);
441 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
442 .headers(headers)).andExpect(status().isBadRequest());
443 pep.setRiskLevel("test");
444 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
445 .headers(headers)).andExpect(status().isBadRequest());
446 Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
447 Map<String,String> matching = new HashMap<>();
448 matching.put("key", "value");
449 attributes.put(AttributeType.MATCHING, matching);
450 pep.setAttributes(attributes);
451 pep.setRiskLevel("5");
452 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
453 .headers(headers)).andExpect(status().isInternalServerError());
454 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
455 .headers(headers)).andExpect(status().isInternalServerError());
456 // Checks for BRMS Raw Policy
457 pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
458 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
459 .headers(headers)).andExpect(status().isBadRequest());
460 pep.setConfigBody("test");
461 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
462 .headers(headers)).andExpect(status().isBadRequest());
463 pep.setRiskLevel(null);
464 pep.setConfigBody("package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\nrule \"Nagpur Medicine Item\"\n\n when\n item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n typeofItem == ItemCity.Type.MEDICINES)\n then\n BigDecimal tax = new BigDecimal(0.0);\n item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
465 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
466 .headers(headers)).andExpect(status().isBadRequest());
467 pep.setRiskLevel("5");
468 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
469 .headers(headers)).andExpect(status().isInternalServerError());
470 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
471 .headers(headers)).andExpect(status().isInternalServerError());
475 public void baseConfigTests() throws Exception{
476 PolicyParameters pep = new PolicyParameters();
477 pep.setPolicyName("test.name");
478 pep.setPolicyDescription("good");
479 pep.setTtlDate(new Date());
480 pep.setRequestID(UUID.randomUUID());
481 setCreateUpdateImpl();
482 // Checks for Base config Policy.
483 pep.setPolicyConfigType(PolicyConfigType.Base);
484 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
485 .headers(headers)).andExpect(status().isBadRequest());
486 pep.setConfigBody("testbody");
487 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
488 .headers(headers)).andExpect(status().isBadRequest());
489 pep.setConfigBodyType(PolicyType.OTHER);
490 pep.setRiskLevel("test");
491 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
492 .headers(headers)).andExpect(status().isBadRequest());
493 pep.setRiskLevel("4");
494 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
495 .headers(headers)).andExpect(status().isBadRequest());
496 pep.setOnapName("ec nam-e");
497 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
498 .headers(headers)).andExpect(status().isBadRequest());
499 pep.setOnapName("onapName");
500 pep.setConfigName("tes config");
501 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
502 .headers(headers)).andExpect(status().isBadRequest());
503 pep.setConfigName("configName");
504 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
505 .headers(headers)).andExpect(status().isInternalServerError());
506 pep.setConfigBody("{'test':'test}");
507 pep.setConfigBodyType(PolicyType.JSON);
508 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
509 .headers(headers)).andExpect(status().isInternalServerError());
510 Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
511 Map<String,String> matching = new HashMap<>();
512 matching.put("key", "value");
513 attributes.put(AttributeType.MATCHING, matching);
514 pep.setAttributes(attributes);
515 pep.setConfigBody("testBody");
516 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
517 .headers(headers)).andExpect(status().isInternalServerError());
521 public void closedLoopPolicyTests() throws Exception{
522 PolicyParameters pep = new PolicyParameters();
523 pep.setPolicyName("test.name");
524 pep.setPolicyDescription("good");
525 pep.setTtlDate(new Date());
526 pep.setRequestID(UUID.randomUUID());
527 setCreateUpdateImpl();
528 // Checks for Closed loop Policy.
529 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_Fault);
530 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
531 .headers(headers)).andExpect(status().isBadRequest());
532 pep.setConfigBody("te stá");
533 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
534 .headers(headers)).andExpect(status().isBadRequest());
535 pep.setConfigBody("testBody");
536 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
537 .headers(headers)).andExpect(status().isBadRequest());
538 pep.setConfigBody("{\"key\":\"value\"}");
539 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
540 .headers(headers)).andExpect(status().isBadRequest());
541 pep.setConfigBody("{\"onapname\":\"\"}");
542 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
543 .headers(headers)).andExpect(status().isBadRequest());
544 pep.setConfigBody("{\"onapname\":\"test\"}");
545 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
546 .headers(headers)).andExpect(status().isInternalServerError());
547 pep.setRiskLevel("test");
548 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
549 .headers(headers)).andExpect(status().isBadRequest());
550 pep.setRiskLevel("4");
551 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
552 .headers(headers)).andExpect(status().isInternalServerError());
553 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
554 .headers(headers)).andExpect(status().isInternalServerError());
558 public void closedLoopPMTests() throws Exception{
559 PolicyParameters pep = new PolicyParameters();
560 pep.setPolicyName("test.name");
561 pep.setPolicyDescription("good");
562 pep.setTtlDate(new Date());
563 pep.setRequestID(UUID.randomUUID());
564 setCreateUpdateImpl();
565 // Checks for Closed loop Policy.
566 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_PM);
567 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
568 .headers(headers)).andExpect(status().isBadRequest());
569 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
570 .headers(headers)).andExpect(status().isBadRequest());
571 pep.setConfigBody("te stá");
572 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
573 .headers(headers)).andExpect(status().isBadRequest());
574 pep.setConfigBody("testBody");
575 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
576 .headers(headers)).andExpect(status().isBadRequest());
577 pep.setConfigBody("{\"key\":\"value\"}");
578 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
579 .headers(headers)).andExpect(status().isBadRequest());
580 pep.setConfigBody("{\"onapname\":\"\"}");
581 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
582 .headers(headers)).andExpect(status().isBadRequest());
583 pep.setConfigBody("{\"onapname\":\"test\"}");
584 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
585 .headers(headers)).andExpect(status().isBadRequest());
586 pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
587 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
588 .headers(headers)).andExpect(status().isInternalServerError());
589 pep.setRiskLevel("test");
590 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
591 .headers(headers)).andExpect(status().isBadRequest());
592 pep.setRiskLevel("4");
593 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
594 .headers(headers)).andExpect(status().isInternalServerError());
595 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
596 .headers(headers)).andExpect(status().isInternalServerError());
600 public void firewallPolicyTests() throws Exception{
601 PolicyParameters pep = new PolicyParameters();
602 pep.setPolicyName("test.name");
603 pep.setPolicyDescription("good");
604 pep.setTtlDate(new Date());
605 pep.setRequestID(UUID.randomUUID());
606 setCreateUpdateImpl();
607 // Checks for Closed loop Policy.
608 pep.setPolicyConfigType(PolicyConfigType.Firewall);
609 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
610 .headers(headers)).andExpect(status().isBadRequest());
611 pep.setConfigBody("te st");
612 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
613 .headers(headers)).andExpect(status().isBadRequest());
614 pep.setConfigBody("{}");
615 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
616 .headers(headers)).andExpect(status().isBadRequest());
617 pep.setConfigBody("{\"test\":\"test\"}");
618 pep.setRiskLevel("test");
619 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
620 .headers(headers)).andExpect(status().isBadRequest());
621 pep.setRiskLevel("4");
622 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
623 .headers(headers)).andExpect(status().isBadRequest());
624 pep.setConfigBody("{\"configName\":\"test\"}");
625 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
626 .headers(headers)).andExpect(status().isInternalServerError());
627 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
628 .headers(headers)).andExpect(status().isInternalServerError());
632 public void microServicePolicyTests() throws Exception{
633 PolicyParameters pep = new PolicyParameters();
634 pep.setPolicyName("test.name");
635 pep.setPolicyDescription("good");
636 pep.setTtlDate(new Date());
637 pep.setRequestID(UUID.randomUUID());
638 setCreateUpdateImpl();
639 // Checks for Closed loop Policy.
640 pep.setPolicyConfigType(PolicyConfigType.MicroService);
641 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
642 .headers(headers)).andExpect(status().isBadRequest());
643 pep.setConfigBody("te st");
644 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
645 .headers(headers)).andExpect(status().isBadRequest());
646 pep.setConfigBody("{}");
647 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
648 .headers(headers)).andExpect(status().isBadRequest());
649 pep.setConfigBody("{\"test\":\"test\"}");
650 pep.setOnapName(" ");
651 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
652 .headers(headers)).andExpect(status().isBadRequest());
653 pep.setOnapName("testonap");
654 pep.setRiskLevel("fail");
655 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
656 .headers(headers)).andExpect(status().isBadRequest());
657 pep.setRiskLevel("4");
658 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
659 .headers(headers)).andExpect(status().isInternalServerError());
660 pep.setConfigBody("{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\",\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
661 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
662 .headers(headers)).andExpect(status().isInternalServerError());
666 public void actionDecisionPolicyCreationTests() throws Exception{
667 PolicyParameters pep = new PolicyParameters();
668 pep.setPolicyName("test.name");
669 pep.setPolicyDescription("good");
670 pep.setTtlDate(new Date());
671 pep.setRequestID(UUID.randomUUID());
672 setCreateUpdateImpl();
673 // Checks for action Policy.
674 pep.setPolicyClass(PolicyClass.Action);
675 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
676 .headers(headers)).andExpect(status().isBadRequest());
677 Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
678 pep.setAttributes(attributes);
679 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
680 .headers(headers)).andExpect(status().isBadRequest());
681 attributes.put(AttributeType.MATCHING, new HashMap<>());
682 pep.setAttributes(attributes);
683 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
684 .headers(headers)).andExpect(status().isBadRequest());
685 Map<String,String> matching = new HashMap<>();
686 matching.put("key", "value");
687 attributes.put(AttributeType.MATCHING, matching);
688 pep.setAttributes(attributes);
689 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
690 .headers(headers)).andExpect(status().isBadRequest());
691 pep.setActionAttribute("A1");
692 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
693 .headers(headers)).andExpect(status().isBadRequest());
694 pep.setActionPerformer("PEX");
695 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
696 .headers(headers)).andExpect(status().isBadRequest());
697 pep.setActionPerformer("PEP");
698 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
699 .headers(headers)).andExpect(status().isInternalServerError());
700 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
701 .headers(headers)).andExpect(status().isInternalServerError());
702 // Checks for Decision Policy.
703 pep.setPolicyClass(PolicyClass.Decision);
704 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
705 .headers(headers)).andExpect(status().isBadRequest());
706 pep.setOnapName("xyz");
707 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
708 .headers(headers)).andExpect(status().isInternalServerError());
709 attributes.remove(AttributeType.MATCHING);
710 attributes.put(AttributeType.SETTINGS, matching);
711 pep.setAttributes(attributes);
712 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
713 .headers(headers)).andExpect(status().isInternalServerError());
714 attributes.put(AttributeType.MATCHING, matching);
715 pep.setAttributes(attributes);
716 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
717 .headers(headers)).andExpect(status().isInternalServerError());
718 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
719 .headers(headers)).andExpect(status().isInternalServerError());
723 public void createUpdateDictionaryTests() throws Exception{
724 DictionaryParameters pep = new DictionaryParameters();
726 mockMvc.perform(put("/createDictionaryItem")).andExpect(status().isBadRequest());
727 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
728 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
730 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
731 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
732 pep.setDictionaryType(DictionaryType.MicroService);
733 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
734 .headers(headers)).andExpect(status().isBadRequest());
735 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
736 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
737 pep.setDictionary("test dict");
738 pep.setRequestID(UUID.randomUUID());
739 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
740 .headers(headers)).andExpect(status().isBadRequest());
741 pep.setDictionaryJson("{\"test\":\"value\"}");
742 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
743 .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isInternalServerError());
744 pep.setDictionaryJson("test123");
745 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
746 .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
747 pep.setDictionary("MicroServiceDictionary");
748 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
749 .headers(headers)).andExpect(status().isBadRequest());
753 public void getDictionaryTests() throws Exception{
754 DictionaryParameters pep = new DictionaryParameters();
756 mockMvc.perform(post("/getDictionaryItems")).andExpect(status().isBadRequest());
757 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
759 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
760 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
761 pep.setDictionaryType(DictionaryType.Common);
762 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
763 .headers(headers).header(UUIDHEADER, UUID.randomUUID().toString())).andExpect(status().isBadRequest());
764 pep.setDictionary("OnapName");
765 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
766 .headers(headers)).andExpect(status().isInternalServerError());
767 pep.setRequestID(UUID.randomUUID());
768 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
769 .headers(headers)).andExpect(status().isInternalServerError());
773 public void policyEngineImportTests() throws Exception{
775 mockMvc.perform(post("/policyEngineImport")).andExpect(status().isBadRequest());
779 public void oldConfigAPITests() throws Exception{
780 ConfigPolicyAPIRequest pep = new ConfigPolicyAPIRequest();
782 mockMvc.perform(put("/createConfig")).andExpect(status().isBadRequest());
783 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
784 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
786 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
787 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
788 pep.setPolicyScope("test");
789 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
790 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
791 pep.setPolicyName("name");
792 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
793 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
794 pep.setConfigType("OTHER");
795 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
796 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
797 pep.setTtlDate(new Date().toString());
798 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
799 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
803 public void oldFirewallAPITests() throws Exception{
804 ConfigFirewallPolicyAPIRequest pep = new ConfigFirewallPolicyAPIRequest();
806 mockMvc.perform(put("/createFirewallConfig")).andExpect(status().isBadRequest());
807 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
808 mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
810 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
811 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
812 pep.setPolicyScope("test");
813 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
814 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
815 pep.setPolicyName("name");
816 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
817 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
818 pep.setTtlDate(new Date().toString());
819 mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
820 .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
823 private void setCreateUpdateImpl() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
824 Method setter = XACMLPdpServlet.class.getDeclaredMethod("setCreateUpdatePolicyConstructor", String.class);
825 setter.setAccessible(true);
826 setter.invoke(new XACMLPdpServlet(), CreateUpdatePolicyServiceImpl.class.getName());
831 public void getCountTest() throws Exception {
832 mockMvc.perform(get("/count"))
833 .andExpect(status().isOk());