X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fadmin%2FPolicyManagerServletTest.java;h=06a2bb98e57c0cffe81d52ea5568ae1902c52ccc;hb=51eb4945ce94e88c5f315ffe9469a9daa3512cd9;hp=dc2159bc128542b72e5e8c74f706a3c6f3022334;hpb=428150834ee60899b9a8da019bae3c8bf009adf1;p=policy%2Fengine.git diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/admin/PolicyManagerServletTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/admin/PolicyManagerServletTest.java index dc2159bc1..06a2bb98e 100644 --- a/POLICY-SDK-APP/src/test/java/org/onap/policy/admin/PolicyManagerServletTest.java +++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/admin/PolicyManagerServletTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP Policy Engine * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ */ package org.onap.policy.admin; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.io.BufferedReader; @@ -30,7 +31,7 @@ import java.util.List; import javax.servlet.ServletConfig; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.commons.io.IOUtils; import org.junit.Before; @@ -49,6 +50,9 @@ import org.onap.policy.rest.jpa.PolicyEditorScopes; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.rest.jpa.PolicyVersion; import org.onap.policy.rest.jpa.UserInfo; +import org.onap.portalsdk.core.domain.User; +import org.onap.portalsdk.core.util.SystemProperties; +import org.springframework.mock.web.MockHttpServletResponse; public class PolicyManagerServletTest extends Mockito{ @@ -60,10 +64,17 @@ public class PolicyManagerServletTest extends Mockito{ private static List policyEditorScopes; private static List policyVersion; private static CommonClassDao commonClassDao; + private ConfigurationDataEntity configurationEntity; + private HttpServletRequest request; + private MockHttpServletResponse response; @Before public void setUp() throws Exception{ logger.info("setUp: Entering"); + + request = mock(HttpServletRequest.class); + response = new MockHttpServletResponse(); + PolicyController.setjUnit(true); UserInfo userinfo = new UserInfo(); userinfo.setUserLoginId("Test"); @@ -93,7 +104,7 @@ public class PolicyManagerServletTest extends Mockito{ entity.setPolicyName("Config_SampleTest.1.xml"); entity.setPolicyData(policyContent); entity.setScope("com"); - ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity(); + configurationEntity = new ConfigurationDataEntity(); configurationEntity.setConfigBody("Sample Test"); configurationEntity.setConfigType("OTHER"); configurationEntity.setConfigurationName("com.Config_SampleTest1206.1.txt"); @@ -123,6 +134,14 @@ public class PolicyManagerServletTest extends Mockito{ policy.setCreatedBy("Test"); policy.setModifiedBy("Test"); policyVersion.add(policy); + + HttpSession mockSession = mock(HttpSession.class); + User user = new User(); + user.setOrgUserId("Test"); + Mockito.when(mockSession.getAttribute(SystemProperties.getProperty("user_attribute_name"))).thenReturn(user); + Mockito.when(request.getSession(false)).thenReturn(mockSession); + commonClassDao = mock(CommonClassDao.class); + } @Test @@ -134,18 +153,50 @@ public class PolicyManagerServletTest extends Mockito{ when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties"); System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "JSONConfig.json"); servlet.init(servletConfig); + + assertTrue(PolicyManagerServlet.getServiceTypeNamesList().size() > 0); + assertTrue(PolicyManagerServlet.getPolicyNames().size() > 0); + + } catch (Exception e1) { + logger.error("Exception Occured"+e1); + fail(); + } + } + + @Test + public void testBadInitJson() { + PolicyManagerServlet servlet = new PolicyManagerServlet(); + ServletConfig servletConfig = mock(ServletConfig.class); + try { + when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers)); + when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties"); + System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "JSONConfig.foo"); + servlet.init(servletConfig); } catch (Exception e1) { logger.error("Exception Occured"+e1); fail(); } } + @Test + public void testBadInitJsonInvalidFile() { + PolicyManagerServlet servlet = new PolicyManagerServlet(); + ServletConfig servletConfig = mock(ServletConfig.class); + try { + when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers)); + when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties"); + System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "IDonotExist.json"); + servlet.init(servletConfig); + } catch (Exception e1) { + logger.error("Exception Occured"+e1); + fail(); + } + } + @SuppressWarnings("static-access") @Test public void testDescribePolicy(){ - PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + PolicyManagerServlet servlet = new PolicyManagerServlet(); PolicyController controller = mock(PolicyController.class); BufferedReader reader = new BufferedReader(new StringReader("{params: { mode: 'DESCRIBEPOLICYFILE', path: 'com.Config_SampleTest1206.1.xml'}}")); try { @@ -165,8 +216,6 @@ public class PolicyManagerServletTest extends Mockito{ @Test public void testPolicyScopeList(){ PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'LIST', path: '/', onlyFolders: false}}"); @@ -193,8 +242,6 @@ public class PolicyManagerServletTest extends Mockito{ @Test public void editBasePolicyTest(){ PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_SampleTest1206.1.xml', onlyFolders: false}}"); @@ -238,9 +285,7 @@ public class PolicyManagerServletTest extends Mockito{ configurationEntity.setDescription("test"); entity.setConfigurationData(configurationEntity); policyData.add(entity); - PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + PolicyManagerServlet servlet = new PolicyManagerServlet(); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml', onlyFolders: false}}"); @@ -284,9 +329,7 @@ public class PolicyManagerServletTest extends Mockito{ configurationEntity.setDescription("test"); entity.setConfigurationData(configurationEntity); policyData.add(entity); - PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + PolicyManagerServlet servlet = new PolicyManagerServlet(); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Raw_TestBRMSRawPolicy.1.xml', onlyFolders: false}}"); @@ -331,8 +374,6 @@ public class PolicyManagerServletTest extends Mockito{ entity.setConfigurationData(configurationEntity); policyData.add(entity); PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_Fault_TestClosedLoopPolicy.1.xml', onlyFolders: false}}"); @@ -377,8 +418,6 @@ public class PolicyManagerServletTest extends Mockito{ entity.setConfigurationData(configurationEntity); policyData.add(entity); PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_PM_TestClosedLoopPMPolicy.1.xml', onlyFolders: false}}"); @@ -429,9 +468,7 @@ public class PolicyManagerServletTest extends Mockito{ configurationEntity.setDescription("test"); entity.setConfigurationData(configurationEntity); policyData.add(entity); - PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + PolicyManagerServlet servlet = new PolicyManagerServlet(); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_MS_vFirewall.1.xml', onlyFolders: false}}"); @@ -477,8 +514,6 @@ public class PolicyManagerServletTest extends Mockito{ entity.setConfigurationData(configurationEntity); policyData.add(entity); PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Config_FW_TestFireWallPolicy.1.xml', onlyFolders: false}}"); @@ -520,9 +555,7 @@ public class PolicyManagerServletTest extends Mockito{ configurationEntity.setActionBodyName("com.Action_TestActionPolicy.1.json"); entity.setActionBodyEntity(configurationEntity); policyData.add(entity); - PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + PolicyManagerServlet servlet = new PolicyManagerServlet(); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Action_TestActionPolicy.1.xml', onlyFolders: false}}"); @@ -558,9 +591,7 @@ public class PolicyManagerServletTest extends Mockito{ entity.setPolicyData(policyContent); entity.setScope("com"); policyData.add(entity); - PolicyManagerServlet servlet = new PolicyManagerServlet(); - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + PolicyManagerServlet servlet = new PolicyManagerServlet(); PolicyController controller = mock(PolicyController.class); List list = new ArrayList<>(); list.add("{params: { mode: 'EDITFILE', path: '/com/Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml', onlyFolders: false}}"); @@ -579,4 +610,86 @@ public class PolicyManagerServletTest extends Mockito{ } } } + + @Test + public void testAddScope(){ + PolicyManagerServlet servlet = new PolicyManagerServlet(); + PolicyController controller = mock(PolicyController.class); + List readers = new ArrayList<>(); + readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/', name: 'Test'}}"))); + readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/', name: 'Test*&'}}"))); + readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/Test', subScopename: 'Test1'}}"))); + for(int i=0; i readers = new ArrayList<>(); + when(controller.getEntityItem(ConfigurationDataEntity.class, "configurationName", "com.Config_SampleTest1206.1.txt")).thenReturn(configurationEntity); + when(controller.getDataByQuery("FROM PolicyEntity where policyName = :oldPolicySplit_1 and scope = :oldPolicySplit_0", null)).thenReturn(basePolicyData); + readers.add(new BufferedReader(new StringReader("{params: { mode: 'COPY', path: 'com.Config_test.1.xml', newPath: 'com.Config_testClone.1.xml'}}"))); + for(int i=0; i readers = new ArrayList<>(); + when(controller.getEntityItem(ConfigurationDataEntity.class, "configurationName", "com.Config_SampleTest1206.1.txt")).thenReturn(configurationEntity); + when(controller.getDataByQuery("FROM PolicyEntity where policyName = :oldPolicySplit_1 and scope = :oldPolicySplit_0", null)).thenReturn(basePolicyData); + readers.add(new BufferedReader(new StringReader("{params: { mode: 'RENAME', path: 'com.Config_test.1.xml', newPath: 'com.Config_testClone.1.xml'}}"))); + for(int i=0; i readers = new ArrayList<>(); + readers.add(new BufferedReader(new StringReader("{params: { mode: 'RENAME', path: 'com', newPath: 'Test'}}"))); + for(int i=0; i