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