2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 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.admin;
22 import static org.junit.Assert.assertTrue;
23 import static org.junit.Assert.fail;
25 import java.io.BufferedReader;
27 import java.io.StringReader;
28 import java.util.ArrayList;
29 import java.util.Collections;
30 import java.util.List;
32 import javax.servlet.ServletConfig;
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.http.HttpSession;
36 import org.apache.commons.io.IOUtils;
37 import org.junit.Before;
38 import org.junit.Test;
39 import org.mockito.Mockito;
40 import org.onap.policy.common.logging.flexlogger.FlexLogger;
41 import org.onap.policy.common.logging.flexlogger.Logger;
42 import org.onap.policy.controller.CreateDcaeMicroServiceController;
43 import org.onap.policy.controller.PolicyController;
44 import org.onap.policy.model.Roles;
45 import org.onap.policy.rest.dao.CommonClassDao;
46 import org.onap.policy.rest.jpa.ActionBodyEntity;
47 import org.onap.policy.rest.jpa.ConfigurationDataEntity;
48 import org.onap.policy.rest.jpa.GroupPolicyScopeList;
49 import org.onap.policy.rest.jpa.PolicyEditorScopes;
50 import org.onap.policy.rest.jpa.PolicyEntity;
51 import org.onap.policy.rest.jpa.PolicyVersion;
52 import org.onap.policy.rest.jpa.UserInfo;
53 import org.onap.portalsdk.core.domain.User;
54 import org.onap.portalsdk.core.util.SystemProperties;
55 import org.springframework.mock.web.MockHttpServletResponse;
57 public class PolicyManagerServletTest extends Mockito{
59 private static Logger logger = FlexLogger.getLogger(PolicyManagerServletTest.class);
60 private List<String> headers = new ArrayList<String>();
62 private static List<Object> rolesdata;
63 private static List<Object> basePolicyData;
64 private static List<Object> policyEditorScopes;
65 private static List<Object> policyVersion;
66 private static CommonClassDao commonClassDao;
67 private ConfigurationDataEntity configurationEntity;
68 private HttpServletRequest request;
69 private MockHttpServletResponse response;
72 public void setUp() throws Exception{
73 logger.info("setUp: Entering");
75 request = mock(HttpServletRequest.class);
76 response = new MockHttpServletResponse();
78 PolicyController.setjUnit(true);
79 UserInfo userinfo = new UserInfo();
80 userinfo.setUserLoginId("Test");
81 userinfo.setUserName("Test");
83 rolesdata = new ArrayList<>();
84 Roles roles = new Roles();
85 roles.setLoginId("Test");
86 roles.setRole("super-admin");
87 Roles roles1 = new Roles();
88 roles1.setLoginId("Test");
89 roles1.setRole("admin");
90 roles1.setScope("['com','Test']");
92 rolesdata.add(roles1);
95 basePolicyData = new ArrayList<>();
96 String policyContent = "";
98 ClassLoader classLoader = getClass().getClassLoader();
99 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_SampleTest1206.1.xml"));
100 } catch (Exception e1) {
101 logger.error("Exception Occured"+e1);
103 PolicyEntity entity = new PolicyEntity();
104 entity.setPolicyName("Config_SampleTest.1.xml");
105 entity.setPolicyData(policyContent);
106 entity.setScope("com");
107 configurationEntity = new ConfigurationDataEntity();
108 configurationEntity.setConfigBody("Sample Test");
109 configurationEntity.setConfigType("OTHER");
110 configurationEntity.setConfigurationName("com.Config_SampleTest1206.1.txt");
111 configurationEntity.setDescription("test");
112 entity.setConfigurationData(configurationEntity);
113 basePolicyData.add(entity);
115 //PolicyEditorScopes data
116 policyEditorScopes = new ArrayList<>();
117 PolicyEditorScopes scopes = new PolicyEditorScopes();
118 scopes.setScopeName("com");
119 scopes.setUserCreatedBy(userinfo);
120 scopes.setUserModifiedBy(userinfo);
121 PolicyEditorScopes scopes1 = new PolicyEditorScopes();
122 scopes1.setScopeName("com\\Test");
123 scopes1.setUserCreatedBy(userinfo);
124 scopes1.setUserModifiedBy(userinfo);
125 policyEditorScopes.add(scopes);
126 policyEditorScopes.add(scopes1);
129 policyVersion = new ArrayList<>();
130 PolicyVersion policy = new PolicyVersion();
131 policy.setPolicyName("com\\Config_SampleTest1206");
132 policy.setActiveVersion(1);
133 policy.setHigherVersion(1);
134 policy.setCreatedBy("Test");
135 policy.setModifiedBy("Test");
136 policyVersion.add(policy);
138 HttpSession mockSession = mock(HttpSession.class);
139 User user = new User();
140 user.setOrgUserId("Test");
141 Mockito.when(mockSession.getAttribute(SystemProperties.getProperty("user_attribute_name"))).thenReturn(user);
142 Mockito.when(request.getSession(false)).thenReturn(mockSession);
143 commonClassDao = mock(CommonClassDao.class);
148 public void testInit(){
149 PolicyManagerServlet servlet = new PolicyManagerServlet();
150 ServletConfig servletConfig = mock(ServletConfig.class);
152 when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
153 when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
154 System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "JSONConfig.json");
155 servlet.init(servletConfig);
157 assertTrue(PolicyManagerServlet.getServiceTypeNamesList().size() > 0);
158 assertTrue(PolicyManagerServlet.getPolicyNames().size() > 0);
160 } catch (Exception e1) {
161 logger.error("Exception Occured"+e1);
167 public void testBadInitJson() {
168 PolicyManagerServlet servlet = new PolicyManagerServlet();
169 ServletConfig servletConfig = mock(ServletConfig.class);
171 when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
172 when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
173 System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "JSONConfig.foo");
174 servlet.init(servletConfig);
175 } catch (Exception e1) {
176 logger.error("Exception Occured"+e1);
182 public void testBadInitJsonInvalidFile() {
183 PolicyManagerServlet servlet = new PolicyManagerServlet();
184 ServletConfig servletConfig = mock(ServletConfig.class);
186 when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
187 when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
188 System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "IDonotExist.json");
189 servlet.init(servletConfig);
190 } catch (Exception e1) {
191 logger.error("Exception Occured"+e1);
196 @SuppressWarnings("static-access")
198 public void testDescribePolicy(){
199 PolicyManagerServlet servlet = new PolicyManagerServlet();
200 PolicyController controller = mock(PolicyController.class);
201 BufferedReader reader = new BufferedReader(new StringReader("{params: { mode: 'DESCRIBEPOLICYFILE', path: 'com.Config_SampleTest1206.1.xml'}}"));
203 when(request.getReader()).thenReturn(reader);
204 String query = "FROM PolicyEntity where policyName = :split_1 and scope = :split_0";
205 when(controller.getDataByQuery(query, null)).thenReturn(basePolicyData);
206 servlet.setPolicyController(controller);
207 servlet.doPost(request, response);
208 } catch (Exception e1) {
209 logger.error("Exception Occured"+e1);
215 @SuppressWarnings("static-access")
217 public void testPolicyScopeList(){
218 PolicyManagerServlet servlet = new PolicyManagerServlet();
219 PolicyController controller = mock(PolicyController.class);
220 List<String> list = new ArrayList<>();
221 list.add("{params: { mode: 'LIST', path: '/', onlyFolders: false}}");
222 list.add("{params: { mode: 'LIST', path: '/com', onlyFolders: false}}");
223 for(int i =0; i < list.size(); i++){
224 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
226 when(request.getReader()).thenReturn(reader);
227 when(controller.getRoles("Test")).thenReturn(rolesdata);
228 when(controller.getDataByQuery("from PolicyEditorScopes", null)).thenReturn(policyEditorScopes);
229 when(controller.getDataByQuery("from PolicyEditorScopes where SCOPENAME like :scopeName", null)).thenReturn(policyEditorScopes);
230 when(controller.getDataByQuery("from PolicyVersion where POLICY_NAME like :scopeName", null)).thenReturn(policyVersion);
231 servlet.setPolicyController(controller);
232 servlet.setTestUserId("Test");
233 servlet.doPost(request, response);
234 } catch (Exception e1) {
235 logger.error("Exception Occured"+e1);
241 @SuppressWarnings("static-access")
243 public void editBasePolicyTest(){
244 PolicyManagerServlet servlet = new PolicyManagerServlet();
245 PolicyController controller = mock(PolicyController.class);
246 List<String> list = new ArrayList<>();
247 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_SampleTest1206.1.xml', onlyFolders: false}}");
248 for(int i =0; i < list.size(); i++){
249 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
251 when(request.getReader()).thenReturn(reader);
252 when(controller.getRoles("Test")).thenReturn(rolesdata);
253 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(basePolicyData);
254 servlet.setPolicyController(controller);
255 servlet.setTestUserId("Test");
256 servlet.doPost(request, response);
257 } catch (Exception e1) {
258 logger.error("Exception Occured"+e1);
264 @SuppressWarnings("static-access")
266 public void editBRMSParamPolicyTest(){
267 List<Object> policyData = new ArrayList<>();
268 String policyContent = "";
269 String configData = "";
271 ClassLoader classLoader = getClass().getClassLoader();
272 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml"));
273 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.txt"));
274 } catch (Exception e1) {
275 logger.error("Exception Occured"+e1);
277 PolicyEntity entity = new PolicyEntity();
278 entity.setPolicyName("Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml");
279 entity.setPolicyData(policyContent);
280 entity.setScope("com");
281 ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
282 configurationEntity.setConfigBody(configData);
283 configurationEntity.setConfigType("OTHER");
284 configurationEntity.setConfigurationName("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.txt");
285 configurationEntity.setDescription("test");
286 entity.setConfigurationData(configurationEntity);
287 policyData.add(entity);
288 PolicyManagerServlet servlet = new PolicyManagerServlet();
289 PolicyController controller = mock(PolicyController.class);
290 List<String> list = new ArrayList<>();
291 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml', onlyFolders: false}}");
292 for(int i =0; i < list.size(); i++){
293 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
295 when(request.getReader()).thenReturn(reader);
296 when(controller.getRoles("Test")).thenReturn(rolesdata);
297 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
298 servlet.setPolicyController(controller);
299 servlet.setTestUserId("Test");
300 servlet.doPost(request, response);
301 } catch (Exception e1) {
302 logger.error("Exception Occured"+e1);
308 @SuppressWarnings("static-access")
310 public void editBRMSRawPolicyTest(){
311 List<Object> policyData = new ArrayList<>();
312 String policyContent = "";
313 String configData = "";
315 ClassLoader classLoader = getClass().getClassLoader();
316 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_BRMS_Raw_TestBRMSRawPolicy.1.xml"));
317 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_BRMS_Raw_TestBRMSRawPolicy.1.txt"));
318 } catch (Exception e1) {
319 logger.error("Exception Occured"+e1);
321 PolicyEntity entity = new PolicyEntity();
322 entity.setPolicyName("Config_BRMS_Raw_TestBRMSRawPolicy.1.xml");
323 entity.setPolicyData(policyContent);
324 entity.setScope("com");
325 ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
326 configurationEntity.setConfigBody(configData);
327 configurationEntity.setConfigType("OTHER");
328 configurationEntity.setConfigurationName("com.Config_BRMS_Raw_TestBRMSRawPolicy.1.txt");
329 configurationEntity.setDescription("test");
330 entity.setConfigurationData(configurationEntity);
331 policyData.add(entity);
332 PolicyManagerServlet servlet = new PolicyManagerServlet();
333 PolicyController controller = mock(PolicyController.class);
334 List<String> list = new ArrayList<>();
335 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Raw_TestBRMSRawPolicy.1.xml', onlyFolders: false}}");
336 for(int i =0; i < list.size(); i++){
337 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
339 when(request.getReader()).thenReturn(reader);
340 when(controller.getRoles("Test")).thenReturn(rolesdata);
341 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
342 servlet.setPolicyController(controller);
343 servlet.setTestUserId("Test");
344 servlet.doPost(request, response);
345 } catch (Exception e1) {
346 logger.error("Exception Occured"+e1);
352 @SuppressWarnings("static-access")
354 public void editClosedLoopFaultPolicyTest(){
355 List<Object> policyData = new ArrayList<>();
356 String policyContent = "";
357 String configData = "";
359 ClassLoader classLoader = getClass().getClassLoader();
360 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_Fault_TestClosedLoopPolicy.1.xml"));
361 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_Fault_TestClosedLoopPolicy.1.json"));
362 } catch (Exception e1) {
363 logger.error("Exception Occured"+e1);
365 PolicyEntity entity = new PolicyEntity();
366 entity.setPolicyName("Config_Fault_TestClosedLoopPolicy.1.xml");
367 entity.setPolicyData(policyContent);
368 entity.setScope("com");
369 ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
370 configurationEntity.setConfigBody(configData);
371 configurationEntity.setConfigType("JSON");
372 configurationEntity.setConfigurationName("com.Config_Fault_TestClosedLoopPolicy.1.json");
373 configurationEntity.setDescription("test");
374 entity.setConfigurationData(configurationEntity);
375 policyData.add(entity);
376 PolicyManagerServlet servlet = new PolicyManagerServlet();
377 PolicyController controller = mock(PolicyController.class);
378 List<String> list = new ArrayList<>();
379 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_Fault_TestClosedLoopPolicy.1.xml', onlyFolders: false}}");
380 for(int i =0; i < list.size(); i++){
381 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
383 when(request.getReader()).thenReturn(reader);
384 when(controller.getRoles("Test")).thenReturn(rolesdata);
385 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
386 servlet.setPolicyController(controller);
387 servlet.setTestUserId("Test");
388 servlet.doPost(request, response);
389 } catch (Exception e1) {
390 logger.error("Exception Occured"+e1);
396 @SuppressWarnings("static-access")
398 public void editClosedLoopPMPolicyTest(){
399 List<Object> policyData = new ArrayList<>();
400 String policyContent = "";
401 String configData = "";
403 ClassLoader classLoader = getClass().getClassLoader();
404 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_PM_TestClosedLoopPMPolicy.1.xml"));
405 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_PM_TestClosedLoopPMPolicy.1.json"));
406 } catch (Exception e1) {
407 logger.error("Exception Occured"+e1);
409 PolicyEntity entity = new PolicyEntity();
410 entity.setPolicyName("Config_PM_TestClosedLoopPMPolicy.1.xml");
411 entity.setPolicyData(policyContent);
412 entity.setScope("com");
413 ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
414 configurationEntity.setConfigBody(configData);
415 configurationEntity.setConfigType("JSON");
416 configurationEntity.setConfigurationName("com.Config_PM_TestClosedLoopPMPolicy.1.json");
417 configurationEntity.setDescription("test");
418 entity.setConfigurationData(configurationEntity);
419 policyData.add(entity);
420 PolicyManagerServlet servlet = new PolicyManagerServlet();
421 PolicyController controller = mock(PolicyController.class);
422 List<String> list = new ArrayList<>();
423 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_PM_TestClosedLoopPMPolicy.1.xml', onlyFolders: false}}");
424 for(int i =0; i < list.size(); i++){
425 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
427 when(request.getReader()).thenReturn(reader);
428 when(controller.getRoles("Test")).thenReturn(rolesdata);
429 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
430 servlet.setPolicyController(controller);
431 servlet.setTestUserId("Test");
432 servlet.doPost(request, response);
433 } catch (Exception e1) {
434 logger.error("Exception Occured"+e1);
440 @SuppressWarnings("static-access")
442 public void editMicroServicePolicyTest(){
443 GroupPolicyScopeList groupData = new GroupPolicyScopeList();
444 groupData.setGroupName("Test");
445 groupData.setGroupList("resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop");
446 List<Object> groupListData = new ArrayList<>();
447 groupListData.add(groupData);
448 commonClassDao = mock(CommonClassDao.class);
449 CreateDcaeMicroServiceController.setCommonClassDao(commonClassDao);
450 List<Object> policyData = new ArrayList<>();
451 String policyContent = "";
452 String configData = "";
454 ClassLoader classLoader = getClass().getClassLoader();
455 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_MS_vFirewall.1.xml"));
456 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_MS_vFirewall.1.json"));
457 } catch (Exception e1) {
458 logger.error("Exception Occured"+e1);
460 PolicyEntity entity = new PolicyEntity();
461 entity.setPolicyName("Config_MS_vFirewall.1.xml");
462 entity.setPolicyData(policyContent);
463 entity.setScope("com");
464 ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
465 configurationEntity.setConfigBody(configData);
466 configurationEntity.setConfigType("JSON");
467 configurationEntity.setConfigurationName("com.Config_MS_vFirewall.1.json");
468 configurationEntity.setDescription("test");
469 entity.setConfigurationData(configurationEntity);
470 policyData.add(entity);
471 PolicyManagerServlet servlet = new PolicyManagerServlet();
472 PolicyController controller = mock(PolicyController.class);
473 List<String> list = new ArrayList<>();
474 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_MS_vFirewall.1.xml', onlyFolders: false}}");
475 for(int i =0; i < list.size(); i++){
476 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
478 when(request.getReader()).thenReturn(reader);
479 when(commonClassDao.getDataById(GroupPolicyScopeList.class, "groupList", "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop")).thenReturn(groupListData);
480 when(controller.getRoles("Test")).thenReturn(rolesdata);
481 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
482 servlet.setPolicyController(controller);
483 servlet.setTestUserId("Test");
484 servlet.doPost(request, response);
485 } catch (Exception e1) {
486 logger.error("Exception Occured"+e1);
492 @SuppressWarnings("static-access")
494 public void editFirewallPolicyTest(){
495 List<Object> policyData = new ArrayList<>();
496 String policyContent = "";
497 String configData = "";
499 ClassLoader classLoader = getClass().getClassLoader();
500 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_FW_TestFireWallPolicy.1.xml"));
501 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_FW_TestFireWallPolicy.1.json"));
502 } catch (Exception e1) {
503 logger.error("Exception Occured"+e1);
505 PolicyEntity entity = new PolicyEntity();
506 entity.setPolicyName("Config_FW_TestFireWallPolicy.1.xml");
507 entity.setPolicyData(policyContent);
508 entity.setScope("com");
509 ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
510 configurationEntity.setConfigBody(configData);
511 configurationEntity.setConfigType("JSON");
512 configurationEntity.setConfigurationName("com.Config_FW_TestFireWallPolicy.1.json");
513 configurationEntity.setDescription("test");
514 entity.setConfigurationData(configurationEntity);
515 policyData.add(entity);
516 PolicyManagerServlet servlet = new PolicyManagerServlet();
517 PolicyController controller = mock(PolicyController.class);
518 List<String> list = new ArrayList<>();
519 list.add("{params: { mode: 'EDITFILE', path: '/com/Config_FW_TestFireWallPolicy.1.xml', onlyFolders: false}}");
520 for(int i =0; i < list.size(); i++){
521 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
523 when(request.getReader()).thenReturn(reader);
524 when(controller.getRoles("Test")).thenReturn(rolesdata);
525 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
526 servlet.setPolicyController(controller);
527 servlet.setTestUserId("Test");
528 servlet.doPost(request, response);
529 } catch (Exception e1) {
530 logger.error("Exception Occured"+e1);
536 @SuppressWarnings("static-access")
538 public void editActionPolicyTest(){
539 List<Object> policyData = new ArrayList<>();
540 String policyContent = "";
541 String configData = "";
543 ClassLoader classLoader = getClass().getClassLoader();
544 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Action_TestActionPolicy.1.xml"));
545 configData = IOUtils.toString(classLoader.getResourceAsStream("com.Action_TestActionPolicy.1.json"));
546 } catch (Exception e1) {
547 logger.error("Exception Occured"+e1);
549 PolicyEntity entity = new PolicyEntity();
550 entity.setPolicyName("Action_TestActionPolicy.1.xml");
551 entity.setPolicyData(policyContent);
552 entity.setScope("com");
553 ActionBodyEntity configurationEntity = new ActionBodyEntity();
554 configurationEntity.setActionBody(configData);
555 configurationEntity.setActionBodyName("com.Action_TestActionPolicy.1.json");
556 entity.setActionBodyEntity(configurationEntity);
557 policyData.add(entity);
558 PolicyManagerServlet servlet = new PolicyManagerServlet();
559 PolicyController controller = mock(PolicyController.class);
560 List<String> list = new ArrayList<>();
561 list.add("{params: { mode: 'EDITFILE', path: '/com/Action_TestActionPolicy.1.xml', onlyFolders: false}}");
562 for(int i =0; i < list.size(); i++){
563 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
565 when(request.getReader()).thenReturn(reader);
566 when(controller.getRoles("Test")).thenReturn(rolesdata);
567 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
568 servlet.setPolicyController(controller);
569 servlet.setTestUserId("Test");
570 servlet.doPost(request, response);
571 } catch (Exception e1) {
572 logger.error("Exception Occured"+e1);
578 @SuppressWarnings("static-access")
580 public void editDecisionPolicyTest(){
581 List<Object> policyData = new ArrayList<>();
582 String policyContent = "";
584 ClassLoader classLoader = getClass().getClassLoader();
585 policyContent = IOUtils.toString(classLoader.getResourceAsStream("Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml"));
586 } catch (Exception e1) {
587 logger.error("Exception Occured"+e1);
589 PolicyEntity entity = new PolicyEntity();
590 entity.setPolicyName("Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml");
591 entity.setPolicyData(policyContent);
592 entity.setScope("com");
593 policyData.add(entity);
594 PolicyManagerServlet servlet = new PolicyManagerServlet();
595 PolicyController controller = mock(PolicyController.class);
596 List<String> list = new ArrayList<>();
597 list.add("{params: { mode: 'EDITFILE', path: '/com/Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml', onlyFolders: false}}");
598 for(int i =0; i < list.size(); i++){
599 BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
601 when(request.getReader()).thenReturn(reader);
602 when(controller.getRoles("Test")).thenReturn(rolesdata);
603 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
604 servlet.setPolicyController(controller);
605 servlet.setTestUserId("Test");
606 servlet.doPost(request, response);
607 } catch (Exception e1) {
608 logger.error("Exception Occured"+e1);
615 public void testAddScope(){
616 PolicyManagerServlet servlet = new PolicyManagerServlet();
617 PolicyController controller = mock(PolicyController.class);
618 List<BufferedReader> readers = new ArrayList<>();
619 readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/', name: 'Test'}}")));
620 readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/', name: 'Test*&'}}")));
621 readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/Test', subScopename: 'Test1'}}")));
622 for(int i=0; i<readers.size(); i++){
624 when(request.getReader()).thenReturn(readers.get(i));
625 PolicyManagerServlet.setPolicyController(controller);
626 servlet.doPost(request, response);
627 assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
628 } catch (Exception e1) {
629 logger.error("Exception Occured"+e1);
636 public void testClone(){
637 PolicyManagerServlet servlet = new PolicyManagerServlet();
638 PolicyController controller = mock(PolicyController.class);
639 List<BufferedReader> readers = new ArrayList<>();
640 when(controller.getEntityItem(ConfigurationDataEntity.class, "configurationName", "com.Config_SampleTest1206.1.txt")).thenReturn(configurationEntity);
641 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :oldPolicySplit_1 and scope = :oldPolicySplit_0", null)).thenReturn(basePolicyData);
642 readers.add(new BufferedReader(new StringReader("{params: { mode: 'COPY', path: 'com.Config_test.1.xml', newPath: 'com.Config_testClone.1.xml'}}")));
643 for(int i=0; i<readers.size(); i++){
645 when(request.getReader()).thenReturn(readers.get(i));
646 PolicyManagerServlet.setPolicyController(controller);
647 servlet.doPost(request, response);
648 assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
649 } catch (Exception e1) {
650 logger.error("Exception Occured"+e1);
657 public void testRename(){
658 PolicyManagerServlet servlet = new PolicyManagerServlet();
659 PolicyController controller = mock(PolicyController.class);
660 List<BufferedReader> readers = new ArrayList<>();
661 when(controller.getEntityItem(ConfigurationDataEntity.class, "configurationName", "com.Config_SampleTest1206.1.txt")).thenReturn(configurationEntity);
662 when(controller.getDataByQuery("FROM PolicyEntity where policyName = :oldPolicySplit_1 and scope = :oldPolicySplit_0", null)).thenReturn(basePolicyData);
663 readers.add(new BufferedReader(new StringReader("{params: { mode: 'RENAME', path: 'com.Config_test.1.xml', newPath: 'com.Config_testClone.1.xml'}}")));
664 for(int i=0; i<readers.size(); i++){
666 when(request.getReader()).thenReturn(readers.get(i));
667 PolicyManagerServlet.setPolicyController(controller);
668 servlet.doPost(request, response);
669 assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
670 } catch (Exception e1) {
671 logger.error("Exception Occured"+e1);
678 public void testRenameScope(){
679 PolicyManagerServlet servlet = new PolicyManagerServlet();
680 PolicyController controller = mock(PolicyController.class);
681 List<BufferedReader> readers = new ArrayList<>();
682 readers.add(new BufferedReader(new StringReader("{params: { mode: 'RENAME', path: 'com', newPath: 'Test'}}")));
683 for(int i=0; i<readers.size(); i++){
685 when(request.getReader()).thenReturn(readers.get(i));
686 PolicyManagerServlet.setPolicyController(controller);
687 servlet.doPost(request, response);
688 assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
689 } catch (Exception e1) {
690 logger.error("Exception Occured"+e1);