2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.policy.pdp.rest.api.test;
22 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
23 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
24 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
25 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
26 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
27 import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
28 import com.att.research.xacml.util.XACMLProperties;
29 import java.io.IOException;
30 import java.lang.reflect.InvocationTargetException;
31 import java.lang.reflect.Method;
32 import java.util.Date;
33 import java.util.HashMap;
35 import java.util.UUID;
36 import org.junit.Before;
37 import org.junit.Test;
38 import org.junit.runner.RunWith;
39 import org.onap.policy.api.AttributeType;
40 import org.onap.policy.api.ConfigNameRequest;
41 import org.onap.policy.api.ConfigRequestParameters;
42 import org.onap.policy.api.DecisionRequestParameters;
43 import org.onap.policy.api.DeletePolicyCondition;
44 import org.onap.policy.api.DeletePolicyParameters;
45 import org.onap.policy.api.DictionaryParameters;
46 import org.onap.policy.api.DictionaryType;
47 import org.onap.policy.api.EventRequestParameters;
48 import org.onap.policy.api.PolicyClass;
49 import org.onap.policy.api.PolicyConfigType;
50 import org.onap.policy.api.PolicyParameters;
51 import org.onap.policy.api.PolicyType;
52 import org.onap.policy.api.PushPolicyParameters;
53 import org.onap.policy.pdp.rest.XACMLPdpServlet;
54 import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
55 import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
56 import org.onap.policy.pdp.rest.api.services.CreateUpdatePolicyServiceImpl;
57 import org.onap.policy.pdp.rest.api.services.NotificationService;
58 import org.onap.policy.pdp.rest.config.PDPRestConfig;
59 import org.onap.policy.utils.PolicyUtils;
60 import org.springframework.beans.factory.annotation.Autowired;
61 import org.springframework.http.HttpHeaders;
62 import org.springframework.http.MediaType;
63 import org.springframework.test.context.ContextConfiguration;
64 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
65 import org.springframework.test.context.web.WebAppConfiguration;
66 import org.springframework.test.web.servlet.MockMvc;
67 import org.springframework.web.context.WebApplicationContext;
69 @RunWith(SpringJUnit4ClassRunner.class)
70 @ContextConfiguration(classes = {PDPRestConfig.class})
72 public class PolicyEngineServicesTest {
73 private static final String CLIENTAUTHHEADER = "ClientAuth";
74 private static final String UUIDHEADER = "X-ECOMP-RequestID";
75 // This value is as per test resource code. Don't change this.
76 private static final String CLIENTAUTHVALUE = "Basic cHl0aG9uOnRlc3Q=";
77 private static final String ERRORCLIENTVALUE = "Basic dGVzdDp0ZXN0MTIz";
79 private MockMvc mockMvc;
80 private HttpHeaders headers;
83 private WebApplicationContext webApplicationContext;
86 public void setup() throws IOException {
87 headers = new HttpHeaders();
88 headers.add(CLIENTAUTHHEADER, CLIENTAUTHVALUE);
89 XACMLProperties.reloadProperties();
90 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/pass.xacml.pdp.properties");
91 XACMLProperties.getProperties();
92 this.mockMvc = webAppContextSetup(webApplicationContext).build();
96 public void getConfigAPIFailureTest() throws Exception {
97 ConfigRequestParameters pep = new ConfigRequestParameters();
98 pep.setPolicyName(".*");
100 post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
101 .andExpect(status().is(400));
102 // Authorization tests.
103 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
104 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
105 .andExpect(status().isUnauthorized());
106 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
107 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
108 .andExpect(status().isUnauthorized());
109 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
110 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ERRORCLIENTVALUE))
111 .andExpect(status().isUnauthorized());
112 // Set wrong request.
113 pep.setPolicyName(null);
114 pep.setConfigName("test");
115 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
116 .header(UUIDHEADER, "123").contentType(MediaType.APPLICATION_JSON)).andExpect(status().isBadRequest());
120 public void getConfigServiceTest() throws Exception {
121 ConfigRequestParameters pep = new ConfigRequestParameters();
122 pep.setPolicyName(".*");
123 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
124 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
125 .andExpect(status().isOk());
126 // Without policyName and using onapName and other fields.
127 pep.setPolicyName(null);
128 pep.setOnapName("test");
129 pep.setConfigName("test");
130 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
131 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
132 // with config attributes.
133 Map<String, String> configAttributes = new HashMap<>();
134 configAttributes.put("test", "test");
135 pep.setConfigAttributes(configAttributes);
136 pep.makeUnique(true);
137 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
138 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
142 public void getConfigByPolicyNameTest() throws Exception {
143 ConfigNameRequest pep = new ConfigNameRequest();
144 pep.setPolicyName(".*");
146 post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
147 .andExpect(status().is(400));
148 // Authorization tests.
149 mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
150 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
151 .andExpect(status().isUnauthorized());
152 mockMvc.perform(post("/getConfigByPolicyName").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
153 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
154 .andExpect(status().isOk());
158 public void listConfigTest() throws Exception {
159 ConfigRequestParameters pep = new ConfigRequestParameters();
160 pep.setPolicyName(".*");
161 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
162 .contentType(MediaType.APPLICATION_JSON)).andExpect(status().is(400));
163 // Authorization tests.
164 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
165 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
166 .andExpect(status().isUnauthorized());
167 mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
168 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
169 .andExpect(status().isOk());
173 public void listPolicyTest() throws Exception {
174 ConfigNameRequest pep = new ConfigNameRequest();
175 pep.setPolicyName(".*");
176 mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
177 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
178 .andExpect(status().isOk());
179 pep.setPolicyName("*");
180 mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
181 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
182 .andExpect(status().is4xxClientError());
186 public void getMetricsTest() throws Exception {
188 mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
189 mockMvc.perform(get("/getMetrics").header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
191 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123"))
192 .andExpect(status().isBadRequest());
193 mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID()))
194 .andExpect(status().isBadRequest());
195 mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isBadRequest());
199 public void getNotificationAuthFailureTest() throws Exception {
200 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "").content("test"))
201 .andExpect(status().isUnauthorized());
202 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "Basic test123").content("test"))
203 .andExpect(status().isUnauthorized());
204 mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, ERRORCLIENTVALUE).content(" "))
205 .andExpect(status().isUnauthorized());
209 public void getNotificationTopicFailureTest() throws Exception {
210 mockMvc.perform(post("/getNotification")).andExpect(status().isBadRequest());
211 mockMvc.perform(post("/getNotification").headers(headers).content("")).andExpect(status().isBadRequest());
215 public void getNotificationTopicValidFailTest() throws Exception {
217 mockMvc.perform(post("/getNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
218 mockMvc.perform(post("/stopNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
219 mockMvc.perform(post("/sendHeartbeat").headers(headers).content(" ")).andExpect(status().isBadRequest());
223 public void getNotificationTopicValidPassTest() throws Exception {
224 // Values can be polluted due to failure tests and need to be reloaded.
225 XACMLProperties.reloadProperties();
226 System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME,
227 "src/test/resources/notification.xacml.pdp.properties");
228 XACMLProperties.getProperties();
229 NotificationService.reloadProps();
231 mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test"))
232 .andExpect(status().isOk());
233 // Try to add same topic should fail.
234 mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, UUID.randomUUID()).content("test"))
235 .andExpect(status().isBadRequest());
237 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isOk());
238 // remove the added Topic.
239 mockMvc.perform(post("/stopNotification").headers(headers).content("test")).andExpect(status().isOk());
240 // try to remove again should fail.
241 mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isBadRequest());
245 public void sendEventTest() throws Exception {
246 EventRequestParameters pep = new EventRequestParameters();
247 Map<String, String> eventAttributes = new HashMap<>();
248 eventAttributes.put("TEST", "test");
249 pep.setEventAttributes(eventAttributes);
251 mockMvc.perform(post("/sendEvent")).andExpect(status().isBadRequest());
252 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
253 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
254 .andExpect(status().isUnauthorized());
256 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
257 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
258 .andExpect(status().isOk());
259 pep.setEventAttributes(null);
260 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
261 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
262 .andExpect(status().isBadRequest());
263 pep.setEventAttributes(eventAttributes);
264 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
265 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
266 pep.setEventAttributes(eventAttributes);
267 pep.setRequestID(UUID.randomUUID());
268 mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
269 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
273 public void getDecisionTest() throws Exception {
274 DecisionRequestParameters pep = new DecisionRequestParameters();
275 Map<String, String> eventAttributes = new HashMap<>();
276 eventAttributes.put("TEST", "test");
277 pep.setOnapName("te123");
278 pep.setDecisionAttributes(eventAttributes);
280 mockMvc.perform(post("/getDecision")).andExpect(status().isBadRequest());
281 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
282 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
283 .andExpect(status().isUnauthorized());
285 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
286 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
287 .andExpect(status().isOk());
288 pep.setDecisionAttributes(null);
289 pep.setOnapName(null);
290 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
291 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
292 .andExpect(status().isBadRequest());
293 pep.setOnapName("testing");
294 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
295 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
296 pep.setDecisionAttributes(eventAttributes);
297 pep.setRequestID(UUID.randomUUID());
298 mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
299 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
303 public void pushPolicyTest() throws Exception {
304 PushPolicyParameters pep = new PushPolicyParameters();
306 mockMvc.perform(put("/pushPolicy")).andExpect(status().isBadRequest());
307 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
308 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
309 .andExpect(status().isUnauthorized());
311 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
312 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
313 .andExpect(status().isBadRequest());
314 pep.setPolicyName("scopeless");
315 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
316 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
317 pep.setPolicyName("testing.test");
318 pep.setPolicyType("wrong");
319 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
320 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
321 pep.setPolicyType("BRMS_PARAM");
322 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
323 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
324 pep.setPolicyType("BRMS_RAW");
325 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
326 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
327 pep.setPolicyType("MicroService");
328 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
329 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
330 pep.setPolicyType("ClosedLoop_PM");
331 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
332 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
333 pep.setPolicyType("ClosedLoop_Fault");
334 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
335 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
336 pep.setPolicyType("Base");
337 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
338 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
339 pep.setPolicyType("Decision");
340 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
341 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
342 pep.setPolicyType("Action");
343 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
344 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
345 pep.setPolicyType("Firewall");
346 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
347 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
348 pep.setPdpGroup("default");
349 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
350 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
351 .andExpect(status().isBadRequest());
352 pep.setRequestID(UUID.randomUUID());
353 mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
354 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
358 public void deletePolicyTest() throws Exception {
359 DeletePolicyParameters pep = new DeletePolicyParameters();
361 mockMvc.perform(delete("/deletePolicy")).andExpect(status().isBadRequest());
362 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
363 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
364 .andExpect(status().isUnauthorized());
366 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
367 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
368 .andExpect(status().isBadRequest());
369 pep.setPolicyName("testing");
370 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
371 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
372 .andExpect(status().isBadRequest());
373 pep.setPolicyName("testscope.name");
374 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
375 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
376 pep.setPolicyName("testscope.name");
377 pep.setPolicyType("wrong");
378 pep.setRequestID(UUID.randomUUID());
379 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
380 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
381 pep.setPolicyType("BRMS_PARAM");
382 pep.setPolicyComponent("wrong");
383 pep.setRequestID(null);
384 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
385 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
386 pep.setPolicyType("BRMS_RAW");
387 pep.setPolicyComponent("PDP");
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("MicroService");
392 pep.setPolicyComponent("PAP");
393 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
394 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
395 .andExpect(status().isBadRequest());
396 pep.setPolicyType("ClosedLoop_PM");
397 pep.setPolicyComponent("PDP");
398 pep.setDeleteCondition(DeletePolicyCondition.ALL);
399 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
400 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
401 .andExpect(status().isBadRequest());
402 pep.setPolicyType("ClosedLoop_Fault");
403 pep.setDeleteCondition(DeletePolicyCondition.ONE);
404 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
405 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
406 .andExpect(status().isBadRequest());
407 pep.setPolicyType("Base");
408 pep.setPolicyComponent("PAP");
409 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
410 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
411 .andExpect(status().isBadRequest());
412 pep.setPolicyType("Decision");
413 pep.setPolicyComponent("PDP");
414 pep.setPolicyName("test.xml");
415 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
416 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
417 .andExpect(status().isBadRequest());
418 pep.setPolicyType("Action");
419 pep.setPolicyName("scope.Config_test.xml");
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.setPdpGroup("default");
424 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
425 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
426 .andExpect(status().isBadRequest());
427 pep.setPolicyComponent("PAP");
428 pep.setPolicyType("Firewall");
429 pep.setDeleteCondition(null);
430 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
431 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
432 .andExpect(status().isBadRequest());
433 pep.setPolicyComponent("PAP");
434 pep.setDeleteCondition(DeletePolicyCondition.ONE);
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("fail");
439 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
440 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
441 .andExpect(status().isBadRequest());
442 pep.setPolicyComponent("PDP");
443 pep.setPolicyName("testscope.policyName");
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(null);
448 mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
449 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
450 .andExpect(status().isBadRequest());
454 public void createUpdatePolicyTest() throws Exception {
455 PolicyParameters pep = new PolicyParameters();
457 mockMvc.perform(put("/createPolicy")).andExpect(status().isBadRequest());
458 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
459 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
460 .andExpect(status().isUnauthorized());
461 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
462 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
463 .andExpect(status().isUnauthorized());
465 setCreateUpdateImpl();
466 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
467 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
468 .andExpect(status().isBadRequest());
469 pep.setPolicyName("failName");
470 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
471 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test 123"))
472 .andExpect(status().isBadRequest());
473 pep.setPolicyName("test. name");
474 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
475 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
476 pep.setPolicyName(" ");
477 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
478 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
479 .andExpect(status().isBadRequest());
480 pep.setPolicyName("test. ");
481 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
482 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
483 .andExpect(status().isBadRequest());
484 pep.setPolicyName("te st.name");
485 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
486 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
487 .andExpect(status().isBadRequest());
488 pep.setPolicyName("test.name");
489 pep.setPolicyDescription("testá");
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.name");
494 pep.setPolicyDescription("good");
495 pep.setTtlDate(new Date());
496 pep.setRequestID(UUID.randomUUID());
497 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
498 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
502 public void brmsPolicyCreationTests() throws Exception {
503 PolicyParameters pep = new PolicyParameters();
504 pep.setPolicyName("test.name");
505 pep.setPolicyDescription("good");
506 pep.setTtlDate(new Date());
507 pep.setRequestID(UUID.randomUUID());
508 setCreateUpdateImpl();
509 // Checks for BRMS Param Policy.
510 pep.setPolicyConfigType(PolicyConfigType.BRMS_PARAM);
511 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
512 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
513 pep.setRiskLevel("test");
514 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
515 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
516 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
517 Map<String, String> matching = new HashMap<>();
518 matching.put("key", "value");
519 attributes.put(AttributeType.MATCHING, matching);
520 pep.setAttributes(attributes);
521 pep.setRiskLevel("5");
522 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
523 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
524 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
525 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
526 // Checks for BRMS Raw Policy
527 pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
528 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
529 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
530 pep.setConfigBody("test");
531 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
532 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
533 pep.setRiskLevel(null);
535 "package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\nrule \"Nagpur Medicine Item\"\n\n when\n item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n typeofItem == ItemCity.Type.MEDICINES)\n then\n BigDecimal tax = new BigDecimal(0.0);\n item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
536 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
537 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
538 pep.setRiskLevel("5");
539 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
540 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
541 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
542 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
546 public void baseConfigTests() throws Exception {
547 PolicyParameters pep = new PolicyParameters();
548 pep.setPolicyName("test.name");
549 pep.setPolicyDescription("good");
550 pep.setTtlDate(new Date());
551 pep.setRequestID(UUID.randomUUID());
552 setCreateUpdateImpl();
553 // Checks for Base config Policy.
554 pep.setPolicyConfigType(PolicyConfigType.Base);
555 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
556 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
557 pep.setConfigBody("testbody");
558 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
559 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
560 pep.setConfigBodyType(PolicyType.OTHER);
561 pep.setRiskLevel("test");
562 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
563 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
564 pep.setRiskLevel("4");
565 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
566 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
567 pep.setOnapName("ec nam-e");
568 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
569 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
570 pep.setOnapName("onapName");
571 pep.setConfigName("tes config");
572 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
573 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
574 pep.setConfigName("configName");
575 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
576 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
577 pep.setConfigBody("{'test':'test}");
578 pep.setConfigBodyType(PolicyType.JSON);
579 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
580 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
581 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
582 Map<String, String> matching = new HashMap<>();
583 matching.put("key", "value");
584 attributes.put(AttributeType.MATCHING, matching);
585 pep.setAttributes(attributes);
586 pep.setConfigBody("testBody");
587 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
588 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
592 public void closedLoopPolicyTests() throws Exception {
593 PolicyParameters pep = new PolicyParameters();
594 pep.setPolicyName("test.name");
595 pep.setPolicyDescription("good");
596 pep.setTtlDate(new Date());
597 pep.setRequestID(UUID.randomUUID());
598 setCreateUpdateImpl();
599 // Checks for Closed loop Policy.
600 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_Fault);
601 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
602 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
603 pep.setConfigBody("te stá");
604 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
605 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
606 pep.setConfigBody("testBody");
607 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
608 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
609 pep.setConfigBody("{\"key\":\"value\"}");
610 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
611 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
612 pep.setConfigBody("{\"onapname\":\"\"}");
613 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
614 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
615 pep.setConfigBody("{\"onapname\":\"test\"}");
616 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
617 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
618 pep.setRiskLevel("test");
619 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
620 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
621 pep.setRiskLevel("4");
622 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
623 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
624 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
625 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
629 public void closedLoopPMTests() throws Exception {
630 PolicyParameters pep = new PolicyParameters();
631 pep.setPolicyName("test.name");
632 pep.setPolicyDescription("good");
633 pep.setTtlDate(new Date());
634 pep.setRequestID(UUID.randomUUID());
635 setCreateUpdateImpl();
636 // Checks for Closed loop Policy.
637 pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_PM);
638 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
639 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
640 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
641 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
642 pep.setConfigBody("te stá");
643 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
644 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
645 pep.setConfigBody("testBody");
646 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
647 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
648 pep.setConfigBody("{\"key\":\"value\"}");
649 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
650 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
651 pep.setConfigBody("{\"onapname\":\"\"}");
652 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
653 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
654 pep.setConfigBody("{\"onapname\":\"test\"}");
655 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
656 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
657 pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
658 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
659 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
660 pep.setRiskLevel("test");
661 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
662 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
663 pep.setRiskLevel("4");
664 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
665 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
666 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
667 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
671 public void firewallPolicyTests() throws Exception {
672 PolicyParameters pep = new PolicyParameters();
673 pep.setPolicyName("test.name");
674 pep.setPolicyDescription("good");
675 pep.setTtlDate(new Date());
676 pep.setRequestID(UUID.randomUUID());
677 setCreateUpdateImpl();
678 // Checks for Closed loop Policy.
679 pep.setPolicyConfigType(PolicyConfigType.Firewall);
680 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
681 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
682 pep.setConfigBody("te st");
683 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
684 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
685 pep.setConfigBody("{}");
686 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
687 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
688 pep.setConfigBody("{\"test\":\"test\"}");
689 pep.setRiskLevel("test");
690 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
691 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
692 pep.setRiskLevel("4");
693 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
694 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
695 pep.setConfigBody("{\"configName\":\"test\"}");
696 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
697 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
698 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
699 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
703 public void microServicePolicyTests() throws Exception {
704 PolicyParameters pep = new PolicyParameters();
705 pep.setPolicyName("test.name");
706 pep.setPolicyDescription("good");
707 pep.setTtlDate(new Date());
708 pep.setRequestID(UUID.randomUUID());
709 setCreateUpdateImpl();
710 // Checks for Closed loop Policy.
711 pep.setPolicyConfigType(PolicyConfigType.MicroService);
712 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
713 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
714 pep.setConfigBody("te st");
715 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
716 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
717 pep.setConfigBody("{}");
718 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
719 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
720 pep.setConfigBody("{\"test\":\"test\"}");
721 pep.setOnapName(" ");
722 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
723 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
724 pep.setOnapName("testonap");
725 pep.setRiskLevel("fail");
726 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
727 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
728 pep.setRiskLevel("4");
729 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
730 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
732 "{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\",\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
733 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
734 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
738 public void actionDecisionPolicyCreationTests() throws Exception {
739 PolicyParameters pep = new PolicyParameters();
740 pep.setPolicyName("test.name");
741 pep.setPolicyDescription("good");
742 pep.setTtlDate(new Date());
743 pep.setRequestID(UUID.randomUUID());
744 setCreateUpdateImpl();
745 // Checks for action Policy.
746 pep.setPolicyClass(PolicyClass.Action);
747 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
748 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
749 Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
750 pep.setAttributes(attributes);
751 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
752 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
753 attributes.put(AttributeType.MATCHING, new HashMap<>());
754 pep.setAttributes(attributes);
755 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
756 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
757 Map<String, String> matching = new HashMap<>();
758 matching.put("key", "value");
759 attributes.put(AttributeType.MATCHING, matching);
760 pep.setAttributes(attributes);
761 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
762 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
763 pep.setActionAttribute("A1");
764 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
765 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
766 pep.setActionPerformer("PEX");
767 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
768 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
769 pep.setActionPerformer("PEP");
770 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
771 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
772 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
773 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
774 // Checks for Decision Policy.
775 pep.setPolicyClass(PolicyClass.Decision);
776 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
777 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
778 pep.setOnapName("xyz");
779 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
780 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
781 attributes.remove(AttributeType.MATCHING);
782 attributes.put(AttributeType.SETTINGS, matching);
783 pep.setAttributes(attributes);
784 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
785 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
786 attributes.put(AttributeType.MATCHING, matching);
787 pep.setAttributes(attributes);
788 mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
789 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
790 mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
791 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
795 public void createUpdateDictionaryTests() throws Exception {
796 DictionaryParameters pep = new DictionaryParameters();
798 mockMvc.perform(put("/createDictionaryItem")).andExpect(status().isBadRequest());
799 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
800 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
801 .andExpect(status().isUnauthorized());
802 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
803 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
804 .andExpect(status().isUnauthorized());
806 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
807 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
808 .andExpect(status().isBadRequest());
809 pep.setDictionaryType(DictionaryType.MicroService);
810 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
811 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
812 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
813 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
814 .andExpect(status().isBadRequest());
815 pep.setDictionary("test dict");
816 pep.setRequestID(UUID.randomUUID());
817 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
818 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
819 pep.setDictionaryJson("{\"test\":\"value\"}");
820 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
821 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
822 .andExpect(status().isBadRequest());
823 pep.setDictionaryJson("test123");
824 mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
825 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
826 .andExpect(status().isBadRequest());
827 pep.setDictionary("MicroServiceDictionary");
828 mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
829 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
833 public void getDictionaryTests() throws Exception {
834 DictionaryParameters pep = new DictionaryParameters();
836 mockMvc.perform(post("/getDictionaryItems")).andExpect(status().isBadRequest());
837 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
838 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
839 .andExpect(status().isUnauthorized());
841 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
842 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
843 .andExpect(status().isBadRequest());
844 pep.setDictionaryType(DictionaryType.Common);
845 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
846 .contentType(MediaType.APPLICATION_JSON).headers(headers)
847 .header(UUIDHEADER, UUID.randomUUID().toString())).andExpect(status().isBadRequest());
848 pep.setDictionary("OnapName");
849 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
850 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
851 pep.setRequestID(UUID.randomUUID());
852 mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
853 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
857 public void policyEngineImportTests() throws Exception {
859 mockMvc.perform(post("/policyEngineImport")).andExpect(status().isBadRequest());
863 public void oldConfigAPITests() throws Exception {
864 ConfigPolicyAPIRequest pep = new ConfigPolicyAPIRequest();
866 mockMvc.perform(put("/createConfig")).andExpect(status().isBadRequest());
867 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
868 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
869 .andExpect(status().isUnauthorized());
870 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
871 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
872 .andExpect(status().isUnauthorized());
874 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
875 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
876 .andExpect(status().isBadRequest());
877 pep.setPolicyScope("test");
878 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
879 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
880 .andExpect(status().isBadRequest());
881 pep.setPolicyName("name");
882 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
883 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
884 .andExpect(status().isBadRequest());
885 pep.setConfigType("OTHER");
886 mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
887 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
888 .andExpect(status().isBadRequest());
889 pep.setTtlDate(new Date().toString());
890 mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
891 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
892 .andExpect(status().isBadRequest());
896 public void oldFirewallAPITests() throws Exception {
897 ConfigFirewallPolicyAPIRequest pep = new ConfigFirewallPolicyAPIRequest();
899 mockMvc.perform(put("/createFirewallConfig")).andExpect(status().isBadRequest());
900 mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
901 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
902 .andExpect(status().isUnauthorized());
903 mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
904 .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
905 .andExpect(status().isUnauthorized());
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());