2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Modifications Copyright (C) 2019 Samsung
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
22 package org.onap.policy.pdp.rest.api.test;
24 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
25 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
26 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
27 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
28 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
29 import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
30 import com.att.research.xacml.util.XACMLProperties;
31 import java.io.IOException;
32 import java.lang.reflect.InvocationTargetException;
33 import java.lang.reflect.Method;
34 import java.util.Date;
35 import java.util.HashMap;
37 import java.util.UUID;
38 import org.junit.Before;
39 import org.junit.Test;
40 import org.junit.runner.RunWith;
41 import org.onap.policy.api.AttributeType;
42 import org.onap.policy.api.ConfigNameRequest;
43 import org.onap.policy.api.ConfigRequestParameters;
44 import org.onap.policy.api.DecisionRequestParameters;
45 import org.onap.policy.api.DeletePolicyCondition;
46 import org.onap.policy.api.DeletePolicyParameters;
47 import org.onap.policy.api.DictionaryParameters;
48 import org.onap.policy.api.DictionaryType;
49 import org.onap.policy.api.EventRequestParameters;
50 import org.onap.policy.api.PolicyClass;
51 import org.onap.policy.api.PolicyConfigType;
52 import org.onap.policy.api.PolicyParameters;
53 import org.onap.policy.api.PolicyType;
54 import org.onap.policy.api.PushPolicyParameters;
55 import org.onap.policy.pdp.rest.XACMLPdpServlet;
56 import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
57 import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
58 import org.onap.policy.pdp.rest.api.services.CreateUpdatePolicyServiceImpl;
59 import org.onap.policy.pdp.rest.api.services.NotificationService;
60 import org.onap.policy.pdp.rest.config.PDPRestConfig;
61 import org.onap.policy.utils.PolicyUtils;
62 import org.springframework.beans.factory.annotation.Autowired;
63 import org.springframework.http.HttpHeaders;
64 import org.springframework.http.MediaType;
65 import org.springframework.test.context.ContextConfiguration;
66 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
67 import org.springframework.test.context.web.WebAppConfiguration;
68 import org.springframework.test.web.servlet.MockMvc;
69 import org.springframework.web.context.WebApplicationContext;
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,
93 "src/test/resources/pass.xacml.pdp.properties");
94 XACMLProperties.getProperties();
95 this.mockMvc = webAppContextSetup(webApplicationContext).build();
99 public void getConfigAPIFailureTest() throws Exception {
100 ConfigRequestParameters pep = new ConfigRequestParameters();
101 pep.setPolicyName(".*");
102 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
103 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().is(400));
104 // Authorization tests.
105 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
106 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
107 .andExpect(status().isUnauthorized());
108 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
109 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
110 .andExpect(status().isUnauthorized());
111 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
112 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ERRORCLIENTVALUE))
113 .andExpect(status().isUnauthorized());
114 // Set wrong request.
115 pep.setPolicyName(null);
116 pep.setConfigName("test");
117 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
118 .headers(headers).header(UUIDHEADER, "123").contentType(MediaType.APPLICATION_JSON))
119 .andExpect(status().isBadRequest());
123 public void getConfigServiceTest() throws Exception {
124 ConfigRequestParameters pep = new ConfigRequestParameters();
125 pep.setPolicyName(".*");
126 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
127 .headers(headers).header(UUIDHEADER, UUID.randomUUID())
128 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
129 // Without policyName and using onapName and other fields.
130 pep.setPolicyName(null);
131 pep.setOnapName("test");
132 pep.setConfigName("test");
133 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
134 .headers(headers).contentType(MediaType.APPLICATION_JSON))
135 .andExpect(status().isOk());
136 // with config attributes.
137 Map<String, String> configAttributes = new HashMap<>();
138 configAttributes.put("test", "test");
139 pep.setConfigAttributes(configAttributes);
140 pep.makeUnique(true);
141 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
142 .headers(headers).contentType(MediaType.APPLICATION_JSON))
143 .andExpect(status().isOk());
147 public void getConfigByPolicyNameTest() throws Exception {
148 ConfigNameRequest pep = new ConfigNameRequest();
149 pep.setPolicyName(".*");
150 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
151 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().is(400));
152 // Authorization tests.
153 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
154 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
155 .andExpect(status().isUnauthorized());
156 mockMvc.perform(post("/getConfigByPolicyName").content(PolicyUtils.objectToJsonString(pep))
157 .headers(headers).header(UUIDHEADER, UUID.randomUUID())
158 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
162 public void listConfigTest() throws Exception {
163 ConfigRequestParameters pep = new ConfigRequestParameters();
164 pep.setPolicyName(".*");
165 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
166 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().is(400));
167 // Authorization tests.
168 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
169 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
170 .andExpect(status().isUnauthorized());
171 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
172 .headers(headers).header(UUIDHEADER, UUID.randomUUID())
173 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
177 public void listPolicyTest() throws Exception {
178 ConfigNameRequest pep = new ConfigNameRequest();
179 pep.setPolicyName(".*");
180 mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep))
181 .headers(headers).header(UUIDHEADER, UUID.randomUUID())
182 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
183 pep.setPolicyName("*");
184 mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep))
185 .headers(headers).header(UUIDHEADER, UUID.randomUUID())
186 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().is4xxClientError());
190 public void getMetricsTest() throws Exception {
192 mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
193 mockMvc.perform(get("/getMetrics").header(CLIENTAUTHHEADER, "Basic 123"))
194 .andExpect(status().isUnauthorized());
196 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123"))
197 .andExpect(status().isBadRequest());
198 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID()))
199 .andExpect(status().isBadRequest());
200 mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isBadRequest());
204 public void getNotificationAuthFailureTest() throws Exception {
205 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "").content("test"))
206 .andExpect(status().isUnauthorized());
208 post("/getNotification").header(CLIENTAUTHHEADER, "Basic test123").content("test"))
209 .andExpect(status().isUnauthorized());
211 post("/getNotification").header(CLIENTAUTHHEADER, ERRORCLIENTVALUE).content(" "))
212 .andExpect(status().isUnauthorized());
216 public void getNotificationTopicFailureTest() throws Exception {
217 mockMvc.perform(post("/getNotification")).andExpect(status().isBadRequest());
218 mockMvc.perform(post("/getNotification").headers(headers).content(""))
219 .andExpect(status().isBadRequest());
223 public void getNotificationTopicValidFailTest() throws Exception {
225 mockMvc.perform(post("/getNotification").headers(headers).content(" "))
226 .andExpect(status().isBadRequest());
227 mockMvc.perform(post("/stopNotification").headers(headers).content(" "))
228 .andExpect(status().isBadRequest());
229 mockMvc.perform(post("/sendHeartbeat").headers(headers).content(" "))
230 .andExpect(status().isBadRequest());
234 public void getNotificationTopicValidPassTest() throws Exception {
235 // Values can be polluted due to failure tests and need to be reloaded.
236 XACMLProperties.reloadProperties();
237 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME,
238 "src/test/resources/notification.xacml.pdp.properties");
239 XACMLProperties.getProperties();
240 NotificationService.reloadProps();
243 post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test"))
244 .andExpect(status().isOk());
245 // Try to add same topic should fail.
246 mockMvc.perform(post("/getNotification").headers(headers)
247 .header(UUIDHEADER, UUID.randomUUID()).content("test"))
248 .andExpect(status().isBadRequest());
250 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test"))
251 .andExpect(status().isOk());
252 // remove the added Topic.
253 mockMvc.perform(post("/stopNotification").headers(headers).content("test"))
254 .andExpect(status().isOk());
255 // try to remove again should fail.
256 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test"))
257 .andExpect(status().isBadRequest());
261 public void sendEventTest() throws Exception {
262 EventRequestParameters pep = new EventRequestParameters();
263 Map<String, String> eventAttributes = new HashMap<>();
264 eventAttributes.put("TEST", "test");
265 pep.setEventAttributes(eventAttributes);
267 mockMvc.perform(post("/sendEvent")).andExpect(status().isBadRequest());
268 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
269 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
270 .andExpect(status().isUnauthorized());
272 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
273 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
274 .andExpect(status().isOk());
275 pep.setEventAttributes(null);
276 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
277 .contentType(MediaType.APPLICATION_JSON).headers(headers)
278 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
279 pep.setEventAttributes(eventAttributes);
280 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
281 .contentType(MediaType.APPLICATION_JSON).headers(headers))
282 .andExpect(status().isOk());
283 pep.setEventAttributes(eventAttributes);
284 pep.setRequestID(UUID.randomUUID());
285 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
286 .contentType(MediaType.APPLICATION_JSON).headers(headers))
287 .andExpect(status().isOk());
291 public void getDecisionTest() throws Exception {
292 DecisionRequestParameters pep = new DecisionRequestParameters();
293 Map<String, String> eventAttributes = new HashMap<>();
294 eventAttributes.put("TEST", "test");
295 pep.setOnapName("te123");
296 pep.setDecisionAttributes(eventAttributes);
298 mockMvc.perform(post("/getDecision")).andExpect(status().isBadRequest());
299 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
300 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
301 .andExpect(status().isUnauthorized());
303 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
304 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
305 .andExpect(status().isOk());
306 pep.setDecisionAttributes(null);
307 pep.setOnapName(null);
308 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
309 .contentType(MediaType.APPLICATION_JSON).headers(headers)
310 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
311 pep.setOnapName("testing");
312 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
313 .contentType(MediaType.APPLICATION_JSON).headers(headers))
314 .andExpect(status().isBadRequest());
315 pep.setDecisionAttributes(eventAttributes);
316 pep.setRequestID(UUID.randomUUID());
317 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
318 .contentType(MediaType.APPLICATION_JSON).headers(headers))
319 .andExpect(status().isOk());
323 public void pushPolicyTest() throws Exception {
324 PushPolicyParameters pep = new PushPolicyParameters();
326 mockMvc.perform(put("/pushPolicy")).andExpect(status().isBadRequest());
327 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
328 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
329 .andExpect(status().isUnauthorized());
331 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
332 .contentType(MediaType.APPLICATION_JSON).headers(headers)
333 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
334 pep.setPolicyName("scopeless");
335 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
336 .contentType(MediaType.APPLICATION_JSON).headers(headers))
337 .andExpect(status().isBadRequest());
338 pep.setPolicyName("testing.test");
339 pep.setPolicyType("wrong");
340 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
341 .contentType(MediaType.APPLICATION_JSON).headers(headers))
342 .andExpect(status().isBadRequest());
343 pep.setPolicyType("BRMS_PARAM");
344 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
345 .contentType(MediaType.APPLICATION_JSON).headers(headers))
346 .andExpect(status().isBadRequest());
347 pep.setPolicyType("BRMS_RAW");
348 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
349 .contentType(MediaType.APPLICATION_JSON).headers(headers))
350 .andExpect(status().isBadRequest());
351 pep.setPolicyType("MicroService");
352 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
353 .contentType(MediaType.APPLICATION_JSON).headers(headers))
354 .andExpect(status().isBadRequest());
355 pep.setPolicyType("ClosedLoop_PM");
356 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
357 .contentType(MediaType.APPLICATION_JSON).headers(headers))
358 .andExpect(status().isBadRequest());
359 pep.setPolicyType("ClosedLoop_Fault");
360 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
361 .contentType(MediaType.APPLICATION_JSON).headers(headers))
362 .andExpect(status().isBadRequest());
363 pep.setPolicyType("Base");
364 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
365 .contentType(MediaType.APPLICATION_JSON).headers(headers))
366 .andExpect(status().isBadRequest());
367 pep.setPolicyType("Decision");
368 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
369 .contentType(MediaType.APPLICATION_JSON).headers(headers))
370 .andExpect(status().isBadRequest());
371 pep.setPolicyType("Action");
372 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
373 .contentType(MediaType.APPLICATION_JSON).headers(headers))
374 .andExpect(status().isBadRequest());
375 pep.setPolicyType("Firewall");
376 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
377 .contentType(MediaType.APPLICATION_JSON).headers(headers))
378 .andExpect(status().isBadRequest());
379 pep.setPdpGroup("default");
380 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
381 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
382 .andExpect(status().isBadRequest());
383 pep.setRequestID(UUID.randomUUID());
384 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
385 .contentType(MediaType.APPLICATION_JSON).headers(headers))
386 .andExpect(status().isBadRequest());
390 public void deletePolicyTest() throws Exception {
391 DeletePolicyParameters pep = new DeletePolicyParameters();
393 mockMvc.perform(delete("/deletePolicy")).andExpect(status().isBadRequest());
394 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
395 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
396 .andExpect(status().isUnauthorized());
398 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
399 .contentType(MediaType.APPLICATION_JSON).headers(headers)
400 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
401 pep.setPolicyName("testing");
402 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
403 .contentType(MediaType.APPLICATION_JSON).headers(headers)
404 .header(UUIDHEADER, "test123")).andExpect(status().isBadRequest());
405 pep.setPolicyName("testscope.name");
406 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
407 .contentType(MediaType.APPLICATION_JSON).headers(headers))
408 .andExpect(status().isBadRequest());
409 pep.setPolicyName("testscope.name");
410 pep.setPolicyType("wrong");
411 pep.setRequestID(UUID.randomUUID());
412 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
413 .contentType(MediaType.APPLICATION_JSON).headers(headers))
414 .andExpect(status().isBadRequest());
415 pep.setPolicyType("BRMS_PARAM");
416 pep.setPolicyComponent("wrong");
417 pep.setRequestID(null);
418 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
419 .contentType(MediaType.APPLICATION_JSON).headers(headers))
420 .andExpect(status().isBadRequest());
421 pep.setPolicyType("BRMS_RAW");
422 pep.setPolicyComponent("PDP");
423 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
424 .contentType(MediaType.APPLICATION_JSON).headers(headers)
425 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
426 pep.setPolicyType("MicroService");
427 pep.setPolicyComponent("PAP");
428 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
429 .contentType(MediaType.APPLICATION_JSON).headers(headers)
430 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
431 pep.setPolicyType("ClosedLoop_PM");
432 pep.setPolicyComponent("PDP");
433 pep.setDeleteCondition(DeletePolicyCondition.ALL);
434 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
435 .contentType(MediaType.APPLICATION_JSON).headers(headers)
436 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
437 pep.setPolicyType("ClosedLoop_Fault");
438 pep.setDeleteCondition(DeletePolicyCondition.ONE);
439 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
440 .contentType(MediaType.APPLICATION_JSON).headers(headers)
441 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
442 pep.setPolicyType("Base");
443 pep.setPolicyComponent("PAP");
444 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
445 .contentType(MediaType.APPLICATION_JSON).headers(headers)
446 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
447 pep.setPolicyType("Decision");
448 pep.setPolicyComponent("PDP");
449 pep.setPolicyName("test.xml");
450 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
451 .contentType(MediaType.APPLICATION_JSON).headers(headers)
452 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
453 pep.setPolicyType("Action");
454 pep.setPolicyName("scope.Config_test.xml");
455 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
456 .contentType(MediaType.APPLICATION_JSON).headers(headers)
457 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
458 pep.setPdpGroup("default");
459 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
460 .contentType(MediaType.APPLICATION_JSON).headers(headers)
461 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
462 pep.setPolicyComponent("PAP");
463 pep.setPolicyType("Firewall");
464 pep.setDeleteCondition(null);
465 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
466 .contentType(MediaType.APPLICATION_JSON).headers(headers)
467 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
468 pep.setPolicyComponent("PAP");
469 pep.setDeleteCondition(DeletePolicyCondition.ONE);
470 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
471 .contentType(MediaType.APPLICATION_JSON).headers(headers)
472 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
473 pep.setPolicyComponent("fail");
474 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
475 .contentType(MediaType.APPLICATION_JSON).headers(headers)
476 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
477 pep.setPolicyComponent("PDP");
478 pep.setPolicyName("testscope.policyName");
479 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
480 .contentType(MediaType.APPLICATION_JSON).headers(headers)
481 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
482 pep.setPolicyComponent(null);
483 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
484 .contentType(MediaType.APPLICATION_JSON).headers(headers)
485 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
489 public void createUpdatePolicyTest() throws Exception {
490 PolicyParameters pep = new PolicyParameters();
492 mockMvc.perform(put("/createPolicy")).andExpect(status().isBadRequest());
493 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
494 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
495 .andExpect(status().isUnauthorized());
496 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
497 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
498 .andExpect(status().isUnauthorized());
500 setCreateUpdateImpl();
501 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
502 .contentType(MediaType.APPLICATION_JSON).headers(headers)
503 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
504 pep.setPolicyName("failName");
505 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
506 .contentType(MediaType.APPLICATION_JSON).headers(headers)
507 .header(UUIDHEADER, "test 123")).andExpect(status().isBadRequest());
508 pep.setPolicyName("test. name");
509 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
510 .contentType(MediaType.APPLICATION_JSON).headers(headers))
511 .andExpect(status().isBadRequest());
512 pep.setPolicyName(" ");
513 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
514 .contentType(MediaType.APPLICATION_JSON).headers(headers)
515 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
516 pep.setPolicyName("test. ");
517 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
518 .contentType(MediaType.APPLICATION_JSON).headers(headers)
519 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
520 pep.setPolicyName("te st.name");
521 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
522 .contentType(MediaType.APPLICATION_JSON).headers(headers)
523 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
524 pep.setPolicyName("test.name");
525 pep.setPolicyDescription("testá");
526 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
527 .contentType(MediaType.APPLICATION_JSON).headers(headers)
528 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
529 pep.setPolicyName("test.name");
530 pep.setPolicyDescription("good");
531 pep.setTtlDate(new Date());
532 pep.setRequestID(UUID.randomUUID());
533 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
534 .contentType(MediaType.APPLICATION_JSON).headers(headers))
535 .andExpect(status().isBadRequest());
539 public void brmsPolicyCreationTests() throws Exception {
540 PolicyParameters pep = new PolicyParameters();
541 pep.setPolicyName("test.name");
542 pep.setPolicyDescription("good");
543 pep.setTtlDate(new Date());
544 pep.setRequestID(UUID.randomUUID());
545 setCreateUpdateImpl();
546 // Checks for BRMS Param Policy.
547 pep.setPolicyConfigType(PolicyConfigType.BRMS_PARAM);
548 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
549 .contentType(MediaType.APPLICATION_JSON).headers(headers))
550 .andExpect(status().isBadRequest());
551 pep.setRiskLevel("test");
552 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
553 .contentType(MediaType.APPLICATION_JSON).headers(headers))
554 .andExpect(status().isBadRequest());
555 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
556 Map<String, String> matching = new HashMap<>();
557 matching.put("key", "value");
558 attributes.put(AttributeType.MATCHING, matching);
559 pep.setAttributes(attributes);
560 pep.setRiskLevel("5");
561 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
562 .contentType(MediaType.APPLICATION_JSON).headers(headers))
563 .andExpect(status().isBadRequest());
564 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
565 .contentType(MediaType.APPLICATION_JSON).headers(headers))
566 .andExpect(status().isBadRequest());
567 // Checks for BRMS Raw Policy
568 pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
569 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
570 .contentType(MediaType.APPLICATION_JSON).headers(headers))
571 .andExpect(status().isBadRequest());
572 pep.setConfigBody("test");
573 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
574 .contentType(MediaType.APPLICATION_JSON).headers(headers))
575 .andExpect(status().isBadRequest());
576 pep.setRiskLevel(null);
578 "package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\n"
579 + "rule \"Nagpur Medicine Item\"\n\n when\n"
580 + " item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n"
581 + " typeofItem == ItemCity.Type.MEDICINES)\n then\n"
582 + " BigDecimal tax = new BigDecimal(0.0);\n"
583 + " item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
584 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
585 .contentType(MediaType.APPLICATION_JSON).headers(headers))
586 .andExpect(status().isBadRequest());
587 pep.setRiskLevel("5");
588 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
589 .contentType(MediaType.APPLICATION_JSON).headers(headers))
590 .andExpect(status().isBadRequest());
591 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
592 .contentType(MediaType.APPLICATION_JSON).headers(headers))
593 .andExpect(status().isBadRequest());
597 public void baseConfigTests() throws Exception {
598 PolicyParameters pep = new PolicyParameters();
599 pep.setPolicyName("test.name");
600 pep.setPolicyDescription("good");
601 pep.setTtlDate(new Date());
602 pep.setRequestID(UUID.randomUUID());
603 setCreateUpdateImpl();
604 // Checks for Base config Policy.
605 pep.setPolicyConfigType(PolicyConfigType.Base);
606 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
607 .contentType(MediaType.APPLICATION_JSON).headers(headers))
608 .andExpect(status().isBadRequest());
609 pep.setConfigBody("testbody");
610 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
611 .contentType(MediaType.APPLICATION_JSON).headers(headers))
612 .andExpect(status().isBadRequest());
613 pep.setConfigBodyType(PolicyType.OTHER);
614 pep.setRiskLevel("test");
615 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
616 .contentType(MediaType.APPLICATION_JSON).headers(headers))
617 .andExpect(status().isBadRequest());
618 pep.setRiskLevel("4");
619 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
620 .contentType(MediaType.APPLICATION_JSON).headers(headers))
621 .andExpect(status().isBadRequest());
622 pep.setOnapName("ec nam-e");
623 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
624 .contentType(MediaType.APPLICATION_JSON).headers(headers))
625 .andExpect(status().isBadRequest());
626 pep.setOnapName("onapName");
627 pep.setConfigName("tes config");
628 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
629 .contentType(MediaType.APPLICATION_JSON).headers(headers))
630 .andExpect(status().isBadRequest());
631 pep.setConfigName("configName");
632 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
633 .contentType(MediaType.APPLICATION_JSON).headers(headers))
634 .andExpect(status().isBadRequest());
635 pep.setConfigBody("{'test':'test}");
636 pep.setConfigBodyType(PolicyType.JSON);
637 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
638 .contentType(MediaType.APPLICATION_JSON).headers(headers))
639 .andExpect(status().isBadRequest());
640 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
641 Map<String, String> matching = new HashMap<>();
642 matching.put("key", "value");
643 attributes.put(AttributeType.MATCHING, matching);
644 pep.setAttributes(attributes);
645 pep.setConfigBody("testBody");
646 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
647 .contentType(MediaType.APPLICATION_JSON).headers(headers))
648 .andExpect(status().isBadRequest());
652 public void closedLoopPolicyTests() throws Exception {
653 PolicyParameters pep = new PolicyParameters();
654 pep.setPolicyName("test.name");
655 pep.setPolicyDescription("good");
656 pep.setTtlDate(new Date());
657 pep.setRequestID(UUID.randomUUID());
658 setCreateUpdateImpl();
659 // Checks for Closed loop Policy.
660 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_Fault);
661 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
662 .contentType(MediaType.APPLICATION_JSON).headers(headers))
663 .andExpect(status().isBadRequest());
664 pep.setConfigBody("te stá");
665 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
666 .contentType(MediaType.APPLICATION_JSON).headers(headers))
667 .andExpect(status().isBadRequest());
668 pep.setConfigBody("testBody");
669 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
670 .contentType(MediaType.APPLICATION_JSON).headers(headers))
671 .andExpect(status().isBadRequest());
672 pep.setConfigBody("{\"key\":\"value\"}");
673 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
674 .contentType(MediaType.APPLICATION_JSON).headers(headers))
675 .andExpect(status().isBadRequest());
676 pep.setConfigBody("{\"onapname\":\"\"}");
677 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
678 .contentType(MediaType.APPLICATION_JSON).headers(headers))
679 .andExpect(status().isBadRequest());
680 pep.setConfigBody("{\"onapname\":\"test\"}");
681 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
682 .contentType(MediaType.APPLICATION_JSON).headers(headers))
683 .andExpect(status().isBadRequest());
684 pep.setRiskLevel("test");
685 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
686 .contentType(MediaType.APPLICATION_JSON).headers(headers))
687 .andExpect(status().isBadRequest());
688 pep.setRiskLevel("4");
689 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
690 .contentType(MediaType.APPLICATION_JSON).headers(headers))
691 .andExpect(status().isBadRequest());
692 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
693 .contentType(MediaType.APPLICATION_JSON).headers(headers))
694 .andExpect(status().isBadRequest());
698 public void closedLoopPMTests() throws Exception {
699 PolicyParameters pep = new PolicyParameters();
700 pep.setPolicyName("test.name");
701 pep.setPolicyDescription("good");
702 pep.setTtlDate(new Date());
703 pep.setRequestID(UUID.randomUUID());
704 setCreateUpdateImpl();
705 // Checks for Closed loop Policy.
706 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_PM);
707 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
708 .contentType(MediaType.APPLICATION_JSON).headers(headers))
709 .andExpect(status().isBadRequest());
710 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
711 .contentType(MediaType.APPLICATION_JSON).headers(headers))
712 .andExpect(status().isBadRequest());
713 pep.setConfigBody("te stá");
714 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
715 .contentType(MediaType.APPLICATION_JSON).headers(headers))
716 .andExpect(status().isBadRequest());
717 pep.setConfigBody("testBody");
718 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
719 .contentType(MediaType.APPLICATION_JSON).headers(headers))
720 .andExpect(status().isBadRequest());
721 pep.setConfigBody("{\"key\":\"value\"}");
722 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
723 .contentType(MediaType.APPLICATION_JSON).headers(headers))
724 .andExpect(status().isBadRequest());
725 pep.setConfigBody("{\"onapname\":\"\"}");
726 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
727 .contentType(MediaType.APPLICATION_JSON).headers(headers))
728 .andExpect(status().isBadRequest());
729 pep.setConfigBody("{\"onapname\":\"test\"}");
730 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
731 .contentType(MediaType.APPLICATION_JSON).headers(headers))
732 .andExpect(status().isBadRequest());
733 pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
734 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
735 .contentType(MediaType.APPLICATION_JSON).headers(headers))
736 .andExpect(status().isBadRequest());
737 pep.setRiskLevel("test");
738 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
739 .contentType(MediaType.APPLICATION_JSON).headers(headers))
740 .andExpect(status().isBadRequest());
741 pep.setRiskLevel("4");
742 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
743 .contentType(MediaType.APPLICATION_JSON).headers(headers))
744 .andExpect(status().isBadRequest());
745 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
746 .contentType(MediaType.APPLICATION_JSON).headers(headers))
747 .andExpect(status().isBadRequest());
751 public void firewallPolicyTests() throws Exception {
752 PolicyParameters pep = new PolicyParameters();
753 pep.setPolicyName("test.name");
754 pep.setPolicyDescription("good");
755 pep.setTtlDate(new Date());
756 pep.setRequestID(UUID.randomUUID());
757 setCreateUpdateImpl();
758 // Checks for Closed loop Policy.
759 pep.setPolicyConfigType(PolicyConfigType.Firewall);
760 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
761 .contentType(MediaType.APPLICATION_JSON).headers(headers))
762 .andExpect(status().isBadRequest());
763 pep.setConfigBody("te st");
764 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
765 .contentType(MediaType.APPLICATION_JSON).headers(headers))
766 .andExpect(status().isBadRequest());
767 pep.setConfigBody("{}");
768 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
769 .contentType(MediaType.APPLICATION_JSON).headers(headers))
770 .andExpect(status().isBadRequest());
771 pep.setConfigBody("{\"test\":\"test\"}");
772 pep.setRiskLevel("test");
773 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
774 .contentType(MediaType.APPLICATION_JSON).headers(headers))
775 .andExpect(status().isBadRequest());
776 pep.setRiskLevel("4");
777 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
778 .contentType(MediaType.APPLICATION_JSON).headers(headers))
779 .andExpect(status().isBadRequest());
780 pep.setConfigBody("{\"configName\":\"test\"}");
781 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
782 .contentType(MediaType.APPLICATION_JSON).headers(headers))
783 .andExpect(status().isBadRequest());
784 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
785 .contentType(MediaType.APPLICATION_JSON).headers(headers))
786 .andExpect(status().isBadRequest());
790 public void microServicePolicyTests() throws Exception {
791 PolicyParameters pep = new PolicyParameters();
792 pep.setPolicyName("test.name");
793 pep.setPolicyDescription("good");
794 pep.setTtlDate(new Date());
795 pep.setRequestID(UUID.randomUUID());
796 setCreateUpdateImpl();
797 // Checks for Closed loop Policy.
798 pep.setPolicyConfigType(PolicyConfigType.MicroService);
799 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
800 .contentType(MediaType.APPLICATION_JSON).headers(headers))
801 .andExpect(status().isBadRequest());
802 pep.setConfigBody("te st");
803 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
804 .contentType(MediaType.APPLICATION_JSON).headers(headers))
805 .andExpect(status().isBadRequest());
806 pep.setConfigBody("{}");
807 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
808 .contentType(MediaType.APPLICATION_JSON).headers(headers))
809 .andExpect(status().isBadRequest());
810 pep.setConfigBody("{\"test\":\"test\"}");
811 pep.setOnapName(" ");
812 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
813 .contentType(MediaType.APPLICATION_JSON).headers(headers))
814 .andExpect(status().isBadRequest());
815 pep.setOnapName("testonap");
816 pep.setRiskLevel("fail");
817 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
818 .contentType(MediaType.APPLICATION_JSON).headers(headers))
819 .andExpect(status().isBadRequest());
820 pep.setRiskLevel("4");
821 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
822 .contentType(MediaType.APPLICATION_JSON).headers(headers))
823 .andExpect(status().isBadRequest());
825 "{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\","
826 + "\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
827 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
828 .contentType(MediaType.APPLICATION_JSON).headers(headers))
829 .andExpect(status().isBadRequest());
833 public void actionDecisionPolicyCreationTests() throws Exception {
834 PolicyParameters pep = new PolicyParameters();
835 pep.setPolicyName("test.name");
836 pep.setPolicyDescription("good");
837 pep.setTtlDate(new Date());
838 pep.setRequestID(UUID.randomUUID());
839 setCreateUpdateImpl();
840 // Checks for action Policy.
841 pep.setPolicyClass(PolicyClass.Action);
842 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
843 .contentType(MediaType.APPLICATION_JSON).headers(headers))
844 .andExpect(status().isBadRequest());
845 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
846 pep.setAttributes(attributes);
847 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
848 .contentType(MediaType.APPLICATION_JSON).headers(headers))
849 .andExpect(status().isBadRequest());
850 attributes.put(AttributeType.MATCHING, new HashMap<>());
851 pep.setAttributes(attributes);
852 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
853 .contentType(MediaType.APPLICATION_JSON).headers(headers))
854 .andExpect(status().isBadRequest());
855 Map<String, String> matching = new HashMap<>();
856 matching.put("key", "value");
857 attributes.put(AttributeType.MATCHING, matching);
858 pep.setAttributes(attributes);
859 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
860 .contentType(MediaType.APPLICATION_JSON).headers(headers))
861 .andExpect(status().isBadRequest());
862 pep.setActionAttribute("A1");
863 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
864 .contentType(MediaType.APPLICATION_JSON).headers(headers))
865 .andExpect(status().isBadRequest());
866 pep.setActionPerformer("PEX");
867 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
868 .contentType(MediaType.APPLICATION_JSON).headers(headers))
869 .andExpect(status().isBadRequest());
870 pep.setActionPerformer("PEP");
871 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
872 .contentType(MediaType.APPLICATION_JSON).headers(headers))
873 .andExpect(status().isBadRequest());
874 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
875 .contentType(MediaType.APPLICATION_JSON).headers(headers))
876 .andExpect(status().isBadRequest());
877 // Checks for Decision Policy.
878 pep.setPolicyClass(PolicyClass.Decision);
879 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
880 .contentType(MediaType.APPLICATION_JSON).headers(headers))
881 .andExpect(status().isBadRequest());
882 pep.setOnapName("xyz");
883 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
884 .contentType(MediaType.APPLICATION_JSON).headers(headers))
885 .andExpect(status().isBadRequest());
886 attributes.remove(AttributeType.MATCHING);
887 attributes.put(AttributeType.SETTINGS, matching);
888 pep.setAttributes(attributes);
889 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
890 .contentType(MediaType.APPLICATION_JSON).headers(headers))
891 .andExpect(status().isBadRequest());
892 attributes.put(AttributeType.MATCHING, matching);
893 pep.setAttributes(attributes);
894 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
895 .contentType(MediaType.APPLICATION_JSON).headers(headers))
896 .andExpect(status().isBadRequest());
897 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
898 .contentType(MediaType.APPLICATION_JSON).headers(headers))
899 .andExpect(status().isBadRequest());
903 public void createUpdateDictionaryTests() throws Exception {
904 DictionaryParameters pep = new DictionaryParameters();
906 mockMvc.perform(put("/createDictionaryItem")).andExpect(status().isBadRequest());
907 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
908 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
909 .andExpect(status().isUnauthorized());
910 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
911 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
912 .andExpect(status().isUnauthorized());
914 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
915 .contentType(MediaType.APPLICATION_JSON).headers(headers)
916 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
917 pep.setDictionaryType(DictionaryType.MicroService);
918 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
919 .contentType(MediaType.APPLICATION_JSON).headers(headers))
920 .andExpect(status().isBadRequest());
921 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
922 .contentType(MediaType.APPLICATION_JSON).headers(headers)
923 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
924 pep.setDictionary("test dict");
925 pep.setRequestID(UUID.randomUUID());
926 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
927 .contentType(MediaType.APPLICATION_JSON).headers(headers))
928 .andExpect(status().isBadRequest());
929 pep.setDictionaryJson("{\"test\":\"value\"}");
930 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
931 .contentType(MediaType.APPLICATION_JSON).headers(headers)
932 .header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
933 pep.setDictionaryJson("test123");
934 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
935 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
936 .andExpect(status().isBadRequest());
937 pep.setDictionary("MicroServiceDictionary");
938 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
939 .contentType(MediaType.APPLICATION_JSON).headers(headers))
940 .andExpect(status().isBadRequest());
944 public void getDictionaryTests() throws Exception {
945 DictionaryParameters pep = new DictionaryParameters();
947 mockMvc.perform(post("/getDictionaryItems")).andExpect(status().isBadRequest());
948 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
949 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
950 .andExpect(status().isUnauthorized());
952 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
953 .contentType(MediaType.APPLICATION_JSON).headers(headers)
954 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
955 pep.setDictionaryType(DictionaryType.Common);
956 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
957 .contentType(MediaType.APPLICATION_JSON).headers(headers)
958 .header(UUIDHEADER, UUID.randomUUID().toString()))
959 .andExpect(status().isBadRequest());
960 pep.setDictionary("OnapName");
961 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
962 .contentType(MediaType.APPLICATION_JSON).headers(headers))
963 .andExpect(status().isBadRequest());
964 pep.setRequestID(UUID.randomUUID());
965 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
966 .contentType(MediaType.APPLICATION_JSON).headers(headers))
967 .andExpect(status().isBadRequest());
971 public void policyEngineImportTests() throws Exception {
973 mockMvc.perform(post("/policyEngineImport")).andExpect(status().isBadRequest());
977 public void oldConfigAPITests() throws Exception {
978 ConfigPolicyAPIRequest pep = new ConfigPolicyAPIRequest();
980 mockMvc.perform(put("/createConfig")).andExpect(status().isBadRequest());
981 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
982 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
983 .andExpect(status().isUnauthorized());
984 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
985 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
986 .andExpect(status().isUnauthorized());
988 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
989 .contentType(MediaType.APPLICATION_JSON).headers(headers)
990 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
991 pep.setPolicyScope("test");
992 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
993 .contentType(MediaType.APPLICATION_JSON).headers(headers)
994 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
995 pep.setPolicyName("name");
996 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
997 .contentType(MediaType.APPLICATION_JSON).headers(headers)
998 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
999 pep.setConfigType("OTHER");
1000 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
1001 .contentType(MediaType.APPLICATION_JSON).headers(headers)
1002 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
1003 pep.setTtlDate(new Date().toString());
1004 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
1005 .contentType(MediaType.APPLICATION_JSON).headers(headers)
1006 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
1010 public void oldFirewallAPITests() throws Exception {
1011 ConfigFirewallPolicyAPIRequest pep = new ConfigFirewallPolicyAPIRequest();
1013 mockMvc.perform(put("/createFirewallConfig")).andExpect(status().isBadRequest());
1014 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
1015 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
1016 .andExpect(status().isUnauthorized());
1017 mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
1018 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
1019 .andExpect(status().isUnauthorized());
1021 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
1022 .contentType(MediaType.APPLICATION_JSON).headers(headers)
1023 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
1024 pep.setPolicyScope("test");
1025 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
1026 .contentType(MediaType.APPLICATION_JSON).headers(headers)
1027 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
1028 pep.setPolicyName("name");
1029 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
1030 .contentType(MediaType.APPLICATION_JSON).headers(headers)
1031 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
1032 pep.setTtlDate(new Date().toString());
1033 mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
1034 .contentType(MediaType.APPLICATION_JSON).headers(headers)
1035 .header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
1038 private void setCreateUpdateImpl() throws NoSuchMethodException, SecurityException,
1039 IllegalAccessException, IllegalArgumentException, InvocationTargetException {
1040 Method setter = XACMLPdpServlet.class.getDeclaredMethod("setCreateUpdatePolicyConstructor",
1042 setter.setAccessible(true);
1043 setter.invoke(new XACMLPdpServlet(), CreateUpdatePolicyServiceImpl.class.getName());
1046 // Health Check Tests
1048 public void getCountTest() throws Exception {
1049 mockMvc.perform(get("/count")).andExpect(status().isOk());