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=========================================================
23 package org.onap.policy.pdp.rest.api.test;
25 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
26 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
27 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
28 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
29 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
30 import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
31 import com.att.research.xacml.util.XACMLProperties;
32 import java.io.IOException;
33 import java.lang.reflect.InvocationTargetException;
34 import java.lang.reflect.Method;
35 import java.util.Date;
36 import java.util.HashMap;
38 import java.util.UUID;
39 import org.junit.Before;
40 import org.junit.Test;
41 import org.junit.runner.RunWith;
42 import org.onap.policy.api.AttributeType;
43 import org.onap.policy.api.ConfigNameRequest;
44 import org.onap.policy.api.ConfigRequestParameters;
45 import org.onap.policy.api.DecisionRequestParameters;
46 import org.onap.policy.api.DeletePolicyCondition;
47 import org.onap.policy.api.DeletePolicyParameters;
48 import org.onap.policy.api.DictionaryParameters;
49 import org.onap.policy.api.DictionaryType;
50 import org.onap.policy.api.EventRequestParameters;
51 import org.onap.policy.api.PolicyClass;
52 import org.onap.policy.api.PolicyConfigType;
53 import org.onap.policy.api.PolicyParameters;
54 import org.onap.policy.api.PolicyType;
55 import org.onap.policy.api.PushPolicyParameters;
56 import org.onap.policy.pdp.rest.XACMLPdpServlet;
57 import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
58 import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
59 import org.onap.policy.pdp.rest.api.services.CreateUpdatePolicyServiceImpl;
60 import org.onap.policy.pdp.rest.api.services.NotificationService;
61 import org.onap.policy.pdp.rest.config.PDPRestConfig;
62 import org.onap.policy.utils.PolicyUtils;
63 import org.springframework.beans.factory.annotation.Autowired;
64 import org.springframework.http.HttpHeaders;
65 import org.springframework.http.MediaType;
66 import org.springframework.test.context.ContextConfiguration;
67 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
68 import org.springframework.test.context.web.WebAppConfiguration;
69 import org.springframework.test.web.servlet.MockMvc;
70 import org.springframework.web.context.WebApplicationContext;
72 @RunWith(SpringJUnit4ClassRunner.class)
73 @ContextConfiguration(classes = {PDPRestConfig.class})
75 public class PolicyEngineServicesTest {
76 private static final String CLIENTAUTHHEADER = "ClientAuth";
77 private static final String UUIDHEADER = "X-ECOMP-RequestID";
78 // This value is as per test resource code. Don't change this.
79 private static final String CLIENTAUTHVALUE = "Basic cHl0aG9uOnRlc3Q=";
80 private static final String ERRORCLIENTVALUE = "Basic dGVzdDp0ZXN0MTIz";
82 private MockMvc mockMvc;
83 private HttpHeaders headers;
86 private WebApplicationContext webApplicationContext;
89 public void setup() throws IOException {
90 headers = new HttpHeaders();
91 headers.add(CLIENTAUTHHEADER, CLIENTAUTHVALUE);
92 XACMLProperties.reloadProperties();
93 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "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();
102 // Set wrong request.
103 pep.setPolicyName(null);
104 pep.setConfigName("test");
105 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
106 .header(UUIDHEADER, "123").contentType(MediaType.APPLICATION_JSON)).andExpect(status().isBadRequest());
110 public void getConfigServiceTest() throws Exception {
111 ConfigRequestParameters pep = new ConfigRequestParameters();
112 pep.setPolicyName(".*");
113 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
114 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
115 .andExpect(status().isOk());
116 // Without policyName and using onapName and other fields.
117 pep.setPolicyName(null);
118 pep.setOnapName("test");
119 pep.setConfigName("test");
120 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
121 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
122 // with config attributes.
123 Map<String, String> configAttributes = new HashMap<>();
124 configAttributes.put("test", "test");
125 pep.setConfigAttributes(configAttributes);
126 pep.makeUnique(true);
127 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
128 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
132 public void getConfigByPolicyNameTest() throws Exception {
133 ConfigNameRequest pep = new ConfigNameRequest();
134 pep.setPolicyName(".*");
135 mockMvc.perform(post("/getConfigByPolicyName").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
136 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
137 .andExpect(status().isOk());
141 public void listConfigTest() throws Exception {
142 ConfigRequestParameters pep = new ConfigRequestParameters();
143 pep.setPolicyName(".*");
145 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
146 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
147 .andExpect(status().isOk());
151 public void listPolicyTest() throws Exception {
152 ConfigNameRequest pep = new ConfigNameRequest();
153 pep.setPolicyName(".*");
154 mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
155 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
156 .andExpect(status().isOk());
160 public void getMetricsTest() throws Exception {
162 mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
164 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123"))
165 .andExpect(status().isBadRequest());
166 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID()))
167 .andExpect(status().isBadRequest());
168 mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isBadRequest());
172 public void getNotificationTopicFailureTest() throws Exception {
173 mockMvc.perform(post("/getNotification")).andExpect(status().isBadRequest());
174 mockMvc.perform(post("/getNotification").headers(headers).content("")).andExpect(status().isBadRequest());
178 public void getNotificationTopicValidFailTest() throws Exception {
180 mockMvc.perform(post("/getNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
181 mockMvc.perform(post("/stopNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
182 mockMvc.perform(post("/sendHeartbeat").headers(headers).content(" ")).andExpect(status().isBadRequest());
186 public void getNotificationTopicValidPassTest() throws Exception {
187 // Values can be polluted due to failure tests and need to be reloaded.
188 XACMLProperties.reloadProperties();
189 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME,
190 "src/test/resources/notification.xacml.pdp.properties");
191 XACMLProperties.getProperties();
192 NotificationService.reloadProps();
194 mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test"))
195 .andExpect(status().isOk());
196 // Try to add same topic should fail.
197 mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, UUID.randomUUID()).content("test"))
198 .andExpect(status().isBadRequest());
200 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isOk());
201 // remove the added Topic.
202 mockMvc.perform(post("/stopNotification").headers(headers).content("test")).andExpect(status().isOk());
203 // try to remove again should fail.
204 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isBadRequest());
208 public void sendEventTest() throws Exception {
209 EventRequestParameters pep = new EventRequestParameters();
210 Map<String, String> eventAttributes = new HashMap<>();
211 eventAttributes.put("TEST", "test");
212 pep.setEventAttributes(eventAttributes);
214 mockMvc.perform(post("/sendEvent")).andExpect(status().isBadRequest());
217 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
218 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
219 .andExpect(status().isOk());
220 pep.setEventAttributes(null);
221 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
222 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
223 .andExpect(status().isBadRequest());
224 pep.setEventAttributes(eventAttributes);
225 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
226 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
227 pep.setEventAttributes(eventAttributes);
228 pep.setRequestID(UUID.randomUUID());
229 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
230 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
234 public void getDecisionTest() throws Exception {
235 DecisionRequestParameters pep = new DecisionRequestParameters();
236 Map<String, String> eventAttributes = new HashMap<>();
237 eventAttributes.put("TEST", "test");
238 pep.setOnapName("te123");
239 pep.setDecisionAttributes(eventAttributes);
241 mockMvc.perform(post("/getDecision")).andExpect(status().isBadRequest());
244 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
245 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
246 .andExpect(status().isOk());
247 pep.setDecisionAttributes(null);
248 pep.setOnapName(null);
249 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
250 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
251 .andExpect(status().isBadRequest());
252 pep.setOnapName("testing");
253 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
254 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
255 pep.setDecisionAttributes(eventAttributes);
256 pep.setRequestID(UUID.randomUUID());
257 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
258 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
262 public void pushPolicyTest() throws Exception {
263 PushPolicyParameters pep = new PushPolicyParameters();
265 mockMvc.perform(put("/pushPolicy")).andExpect(status().isBadRequest());
268 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
269 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
270 .andExpect(status().isBadRequest());
271 pep.setPolicyName("com.");
272 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
273 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
274 pep.setPolicyName("com.test");
275 pep.setPolicyType("");
276 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
277 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
278 pep.setPolicyName("scopeless");
279 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
280 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
281 pep.setPolicyName("testing.test");
282 pep.setPolicyType("wrong");
283 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
284 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
285 pep.setPolicyType("BRMS_PARAM");
286 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
287 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
288 pep.setPolicyType("BRMS_RAW");
289 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
290 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
291 pep.setPolicyType("MicroService");
292 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
293 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
294 pep.setPolicyType("ClosedLoop_PM");
295 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
296 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
297 pep.setPolicyType("ClosedLoop_Fault");
298 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
299 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
300 pep.setPolicyType("Base");
301 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
302 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
303 pep.setPolicyType("Decision");
304 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
305 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
306 pep.setPolicyType("Action");
307 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
308 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
309 pep.setPolicyType("Firewall");
310 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
311 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
312 pep.setPolicyType("Optimization");
313 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
314 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
315 pep.setPdpGroup("default");
316 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
317 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
318 .andExpect(status().isBadRequest());
319 pep.setRequestID(UUID.randomUUID());
320 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
321 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
322 pep.setPolicyType("Base,Base");
323 pep.setPolicyName("com.test1,com.test2");
324 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
325 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
326 pep.setPolicyType("Base,Base, ");
327 pep.setPolicyName("com.test1,com.test2,com.test3");
328 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
329 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
333 public void deletePolicyTest() throws Exception {
334 DeletePolicyParameters pep = new DeletePolicyParameters();
336 mockMvc.perform(delete("/deletePolicy")).andExpect(status().isBadRequest());
339 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
340 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
341 .andExpect(status().isBadRequest());
343 pep.setPolicyName("testing");
344 pep.setPolicyType("Base");
345 pep.setPolicyComponent("PDP");
346 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
347 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
348 .andExpect(status().isBadRequest());
349 pep.setPdpGroup("default");
350 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
351 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
352 .andExpect(status().isBadRequest());
353 pep.setPolicyName("com.Config_test.1.xml");
354 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
355 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
356 .andExpect(status().isBadRequest());
357 pep.setPolicyName("testing. ");
358 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
359 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
360 .andExpect(status().isBadRequest());
361 pep.setPolicyName("testscope.name");
362 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
363 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
364 pep.setPolicyType("wrong");
365 pep.setRequestID(UUID.randomUUID());
366 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
367 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
368 pep.setPolicyType("BRMS_PARAM");
369 pep.setPolicyComponent("wrong");
370 pep.setRequestID(null);
371 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
372 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
373 pep.setPolicyType("BRMS_PARAM");
374 pep.setPolicyComponent("PDP");
375 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
376 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
377 pep.setPolicyType("BRMS_RAW");
378 pep.setPolicyComponent("PDP");
379 pep.setPolicyName("testscope.name");
380 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
381 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
382 .andExpect(status().isBadRequest());
383 pep.setPolicyType("MicroService");
384 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
385 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
386 .andExpect(status().isBadRequest());
387 pep.setPolicyType("Optimization");
388 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
389 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
390 .andExpect(status().isBadRequest());
391 pep.setPolicyType("ClosedLoop_PM");
392 pep.setPolicyComponent("PDP");
393 pep.setDeleteCondition(DeletePolicyCondition.ALL);
394 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
395 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
396 .andExpect(status().isBadRequest());
397 pep.setPolicyType("ClosedLoop_Fault");
398 pep.setDeleteCondition(DeletePolicyCondition.ONE);
399 pep.setPolicyName("test.test");
400 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
401 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
402 .andExpect(status().isBadRequest());
403 pep.setPolicyType("Base");
404 pep.setPolicyComponent("PAP");
405 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
406 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
407 .andExpect(status().isBadRequest());
408 pep.setPolicyType("Decision");
409 pep.setPolicyComponent("PDP");
410 pep.setPolicyName("test.test");
411 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
412 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
413 .andExpect(status().isBadRequest());
414 pep.setPolicyType("Action");
415 pep.setPolicyName("scope.test");
416 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
417 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
418 .andExpect(status().isBadRequest());
419 pep.setPdpGroup("default");
420 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
421 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
422 .andExpect(status().isBadRequest());
423 pep.setPolicyComponent("PAP");
424 pep.setPolicyType("Firewall");
425 pep.setDeleteCondition(null);
426 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
427 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
428 .andExpect(status().isBadRequest());
429 pep.setPolicyComponent("PAP");
430 pep.setDeleteCondition(DeletePolicyCondition.ONE);
431 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
432 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
433 .andExpect(status().isBadRequest());
434 pep.setPolicyComponent("fail");
435 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
436 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
437 .andExpect(status().isBadRequest());
438 pep.setPolicyComponent("PDP");
439 pep.setPolicyName("testscope.policyName");
440 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
441 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
442 .andExpect(status().isBadRequest());
443 pep.setPolicyComponent(null);
444 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
445 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
446 .andExpect(status().isBadRequest());
447 pep.setPolicyComponent("PDP");
448 pep.setPolicyName("com.test1,com.test2");
449 pep.setPolicyType("Base,Base");
450 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
451 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
452 .andExpect(status().isBadRequest());
453 pep.setPolicyName("com.test1,com.test2");
454 pep.setPolicyType("Base,Base, ");
455 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
456 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
457 .andExpect(status().isBadRequest());
458 pep.setPolicyName("com.test1,com.test2, ");
459 pep.setPolicyType("Base,Base, ");
460 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
461 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
462 .andExpect(status().isBadRequest());
463 pep.setPolicyComponent("PAP");
464 pep.setPolicyName("com.test1,com.test2");
465 pep.setPolicyType("Base,Base");
466 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
467 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
468 .andExpect(status().isBadRequest());
472 public void createUpdatePolicyTest() throws Exception {
473 PolicyParameters pep = new PolicyParameters();
475 mockMvc.perform(put("/createPolicy")).andExpect(status().isBadRequest());
478 setCreateUpdateImpl();
479 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
480 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
481 .andExpect(status().isBadRequest());
482 pep.setPolicyName("failName");
483 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
484 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test 123"))
485 .andExpect(status().isBadRequest());
486 pep.setPolicyName("test. name");
487 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
488 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
489 pep.setPolicyName(" ");
490 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
491 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
492 .andExpect(status().isBadRequest());
493 pep.setPolicyName("test. ");
494 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
495 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
496 .andExpect(status().isBadRequest());
497 pep.setPolicyName("te st.name");
498 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
499 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
500 .andExpect(status().isBadRequest());
501 pep.setPolicyName("test.name");
502 pep.setPolicyDescription("testá");
503 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
504 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
505 .andExpect(status().isBadRequest());
506 pep.setPolicyName("test.name");
507 pep.setPolicyDescription("good");
508 pep.setTtlDate(new Date());
509 pep.setRequestID(UUID.randomUUID());
510 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
511 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
515 public void brmsPolicyCreationTests() throws Exception {
516 PolicyParameters pep = new PolicyParameters();
517 pep.setPolicyName("test.name");
518 pep.setPolicyDescription("good");
519 pep.setTtlDate(new Date());
520 pep.setRequestID(UUID.randomUUID());
521 setCreateUpdateImpl();
522 // Checks for BRMS Param Policy.
523 pep.setPolicyConfigType(PolicyConfigType.BRMS_PARAM);
524 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
525 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
526 pep.setRiskLevel("test");
527 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
528 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
529 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
530 Map<String, String> matching = new HashMap<>();
531 matching.put("key", "value");
532 attributes.put(AttributeType.MATCHING, matching);
533 pep.setAttributes(attributes);
534 pep.setRiskLevel("5");
535 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
536 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
537 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
538 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
539 // Checks for BRMS Raw Policy
540 pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
541 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
542 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
543 pep.setConfigBody("test");
544 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
545 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
546 pep.setRiskLevel(null);
547 pep.setConfigBody("package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\n"
548 + "rule \"Nagpur Medicine Item\"\n\n when\n"
549 + " item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n"
550 + " typeofItem == ItemCity.Type.MEDICINES)\n then\n"
551 + " BigDecimal tax = new BigDecimal(0.0);\n"
552 + " item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
553 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
554 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
555 pep.setRiskLevel("5");
556 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
557 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
558 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
559 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
563 public void baseConfigTests() throws Exception {
564 PolicyParameters pep = new PolicyParameters();
565 pep.setPolicyName("test.name");
566 pep.setPolicyDescription("good");
567 pep.setTtlDate(new Date());
568 pep.setRequestID(UUID.randomUUID());
569 setCreateUpdateImpl();
570 // Checks for Base config Policy.
571 pep.setPolicyConfigType(PolicyConfigType.Base);
572 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
573 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
574 pep.setConfigBody("testbody");
575 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
576 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
577 pep.setConfigBodyType(PolicyType.OTHER);
578 pep.setRiskLevel("test");
579 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
580 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
581 pep.setRiskLevel("4");
582 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
583 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
584 pep.setOnapName("ec nam-e");
585 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
586 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
587 pep.setOnapName("onapName");
588 pep.setConfigName("tes config");
589 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
590 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
591 pep.setConfigName("configName");
592 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
593 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
594 pep.setConfigBody("{'test':'test}");
595 pep.setConfigBodyType(PolicyType.JSON);
596 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
597 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
598 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
599 Map<String, String> matching = new HashMap<>();
600 matching.put("key", "value");
601 attributes.put(AttributeType.MATCHING, matching);
602 pep.setAttributes(attributes);
603 pep.setConfigBody("testBody");
604 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
605 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
609 public void closedLoopPolicyTests() throws Exception {
610 PolicyParameters pep = new PolicyParameters();
611 pep.setPolicyName("test.name");
612 pep.setPolicyDescription("good");
613 pep.setTtlDate(new Date());
614 pep.setRequestID(UUID.randomUUID());
615 setCreateUpdateImpl();
616 // Checks for Closed loop Policy.
617 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_Fault);
618 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
619 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
620 pep.setConfigBody("te stá");
621 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
622 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
623 pep.setConfigBody("testBody");
624 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
625 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
626 pep.setConfigBody("{\"key\":\"value\"}");
627 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
628 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
629 pep.setConfigBody("{\"onapname\":\"\"}");
630 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
631 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
632 pep.setConfigBody("{\"onapname\":\"test\"}");
633 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
634 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
635 pep.setRiskLevel("test");
636 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
637 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
638 pep.setRiskLevel("4");
639 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
640 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
641 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
642 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
646 public void closedLoopPMTests() throws Exception {
647 PolicyParameters pep = new PolicyParameters();
648 pep.setPolicyName("test.name");
649 pep.setPolicyDescription("good");
650 pep.setTtlDate(new Date());
651 pep.setRequestID(UUID.randomUUID());
652 setCreateUpdateImpl();
653 // Checks for Closed loop Policy.
654 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_PM);
655 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
656 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
657 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
658 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
659 pep.setConfigBody("te stá");
660 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
661 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
662 pep.setConfigBody("testBody");
663 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
664 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
665 pep.setConfigBody("{\"key\":\"value\"}");
666 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
667 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
668 pep.setConfigBody("{\"onapname\":\"\"}");
669 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
670 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
671 pep.setConfigBody("{\"onapname\":\"test\"}");
672 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
673 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
674 pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
675 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
676 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
677 pep.setRiskLevel("test");
678 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
679 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
680 pep.setRiskLevel("4");
681 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
682 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
683 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
684 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
688 public void firewallPolicyTests() throws Exception {
689 PolicyParameters pep = new PolicyParameters();
690 pep.setPolicyName("test.name");
691 pep.setPolicyDescription("good");
692 pep.setTtlDate(new Date());
693 pep.setRequestID(UUID.randomUUID());
694 setCreateUpdateImpl();
695 // Checks for Closed loop Policy.
696 pep.setPolicyConfigType(PolicyConfigType.Firewall);
697 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
698 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
699 pep.setConfigBody("te st");
700 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
701 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
702 pep.setConfigBody("{}");
703 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
704 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
705 pep.setConfigBody("{\"test\":\"test\"}");
706 pep.setRiskLevel("test");
707 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
708 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
709 pep.setRiskLevel("4");
710 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
711 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
712 pep.setConfigBody("{\"configName\":\"test\"}");
713 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
714 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
715 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
716 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
720 public void microServicePolicyTests() throws Exception {
721 PolicyParameters pep = new PolicyParameters();
722 pep.setPolicyName("test.name");
723 pep.setPolicyDescription("good");
724 pep.setTtlDate(new Date());
725 pep.setRequestID(UUID.randomUUID());
726 setCreateUpdateImpl();
727 // Checks for Closed loop Policy.
728 pep.setPolicyConfigType(PolicyConfigType.MicroService);
729 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
730 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
731 pep.setConfigBody("te st");
732 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
733 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
734 pep.setConfigBody("{}");
735 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
736 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
737 pep.setConfigBody("{\"test\":\"test\"}");
738 pep.setOnapName(" ");
739 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
740 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
741 pep.setOnapName("testonap");
742 pep.setRiskLevel("fail");
743 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
744 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
745 pep.setRiskLevel("4");
746 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
747 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
748 pep.setConfigBody("{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\","
749 + "\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
750 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
751 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
755 public void actionDecisionPolicyCreationTests() throws Exception {
756 PolicyParameters pep = new PolicyParameters();
757 pep.setPolicyName("test.name");
758 pep.setPolicyDescription("good");
759 pep.setTtlDate(new Date());
760 pep.setRequestID(UUID.randomUUID());
761 setCreateUpdateImpl();
762 // Checks for action Policy.
763 pep.setPolicyClass(PolicyClass.Action);
764 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
765 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
766 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
767 pep.setAttributes(attributes);
768 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
769 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
770 attributes.put(AttributeType.MATCHING, new HashMap<>());
771 pep.setAttributes(attributes);
772 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
773 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
774 Map<String, String> matching = new HashMap<>();
775 matching.put("key", "value");
776 attributes.put(AttributeType.MATCHING, matching);
777 pep.setAttributes(attributes);
778 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
779 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
780 pep.setActionAttribute("A1");
781 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
782 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
783 pep.setActionPerformer("PEX");
784 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
785 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
786 pep.setActionPerformer("PEP");
787 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
788 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
789 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
790 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
791 // Checks for Decision Policy.
792 pep.setPolicyClass(PolicyClass.Decision);
793 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
794 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
795 pep.setOnapName("xyz");
796 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
797 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
798 attributes.remove(AttributeType.MATCHING);
799 attributes.put(AttributeType.SETTINGS, matching);
800 pep.setAttributes(attributes);
801 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
802 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
803 attributes.put(AttributeType.MATCHING, matching);
804 pep.setAttributes(attributes);
805 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
806 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
807 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
808 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
812 public void createUpdateDictionaryTests() throws Exception {
813 DictionaryParameters pep = new DictionaryParameters();
815 mockMvc.perform(put("/createDictionaryItem")).andExpect(status().isBadRequest());
818 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
819 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
820 .andExpect(status().isBadRequest());
821 pep.setDictionaryType(DictionaryType.MicroService);
822 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
823 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
824 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
825 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
826 .andExpect(status().isBadRequest());
827 pep.setDictionary("test dict");
828 pep.setRequestID(UUID.randomUUID());
829 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
830 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
831 pep.setDictionaryJson("{\"test\":\"value\"}");
832 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
833 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
834 .andExpect(status().isBadRequest());
835 pep.setDictionaryJson("test123");
836 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
837 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
838 .andExpect(status().isBadRequest());
839 pep.setDictionary("MicroServiceDictionary");
840 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
841 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
845 public void getDictionaryTests() throws Exception {
846 DictionaryParameters pep = new DictionaryParameters();
848 mockMvc.perform(post("/getDictionaryItems")).andExpect(status().isBadRequest());
851 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
852 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
853 .andExpect(status().isBadRequest());
854 pep.setDictionaryType(DictionaryType.Common);
855 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
856 .contentType(MediaType.APPLICATION_JSON).headers(headers)
857 .header(UUIDHEADER, UUID.randomUUID().toString())).andExpect(status().isBadRequest());
858 pep.setDictionary("OnapName");
859 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
860 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
861 pep.setRequestID(UUID.randomUUID());
862 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
863 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
867 public void policyEngineImportTests() throws Exception {
869 mockMvc.perform(post("/policyEngineImport")).andExpect(status().isBadRequest());
873 public void oldConfigAPITests() throws Exception {
874 ConfigPolicyAPIRequest pep = new ConfigPolicyAPIRequest();
876 mockMvc.perform(put("/createConfig")).andExpect(status().isBadRequest());
879 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
880 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
881 .andExpect(status().isBadRequest());
882 pep.setPolicyScope("test");
883 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
884 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
885 .andExpect(status().isBadRequest());
886 pep.setPolicyName("name");
887 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
888 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
889 .andExpect(status().isBadRequest());
890 pep.setConfigType("OTHER");
891 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
892 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
893 .andExpect(status().isBadRequest());
894 pep.setTtlDate(new Date().toString());
895 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
896 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
897 .andExpect(status().isBadRequest());
901 public void oldFirewallAPITests() throws Exception {
902 ConfigFirewallPolicyAPIRequest pep = new ConfigFirewallPolicyAPIRequest();
904 mockMvc.perform(put("/createFirewallConfig")).andExpect(status().isBadRequest());
907 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
908 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
909 .andExpect(status().isBadRequest());
910 pep.setPolicyScope("test");
911 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
912 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
913 .andExpect(status().isBadRequest());
914 pep.setPolicyName("name");
915 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
916 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
917 .andExpect(status().isBadRequest());
918 pep.setTtlDate(new Date().toString());
919 mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
920 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
921 .andExpect(status().isBadRequest());
924 private void setCreateUpdateImpl() throws NoSuchMethodException, SecurityException, IllegalAccessException,
925 IllegalArgumentException, InvocationTargetException {
926 Method setter = XACMLPdpServlet.class.getDeclaredMethod("setCreateUpdatePolicyConstructor", String.class);
927 setter.setAccessible(true);
928 setter.invoke(new XACMLPdpServlet(), CreateUpdatePolicyServiceImpl.class.getName());
931 // Health Check Tests
933 public void getCountTest() throws Exception {
934 mockMvc.perform(get("/count")).andExpect(status().isOk());