Resolved the POLICY-SDK-APP junit issue.
[policy/engine.git] / POLICY-SDK-APP / src / test / java / org / onap / policy / admin / PolicyManagerServletTest.java
index e61742f..7ca7889 100644 (file)
@@ -19,7 +19,9 @@
  */
 package org.onap.policy.admin;
 
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -31,6 +33,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 +52,8 @@ 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;
 
 public class PolicyManagerServletTest extends Mockito{
        
@@ -60,10 +65,17 @@ public class PolicyManagerServletTest extends Mockito{
        private static List<Object> policyEditorScopes;
        private static List<Object> policyVersion;
        private static CommonClassDao commonClassDao;
+       private HttpServletRequest request;       
+       private HttpServletResponse response; 
        
        @Before
        public void setUp() throws Exception{
                logger.info("setUp: Entering");
+               
+               request = mock(HttpServletRequest.class);       
+        response = mock(HttpServletResponse.class); 
+        
+               PolicyController.setjUnit(true);
                UserInfo userinfo = new UserInfo();
                userinfo.setUserLoginId("Test");
                userinfo.setUserName("Test");
@@ -122,6 +134,13 @@ 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);
+       
        }
        
        @Test
@@ -133,24 +152,56 @@ 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 {
                        when(request.getReader()).thenReturn(reader);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_SampleTest1206.1.xml' and scope ='com'")).thenReturn(basePolicyData);
+                       String query = "FROM PolicyEntity where policyName = :split_1 and scope = :split_0";
+                       when(controller.getDataByQuery(query, null)).thenReturn(basePolicyData);
                        servlet.setPolicyController(controller);
                        servlet.doPost(request, response);
                } catch (Exception e1) {
@@ -164,8 +215,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'LIST', path: '/', onlyFolders: false}}");
@@ -175,9 +224,9 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("from PolicyEditorScopes")).thenReturn(policyEditorScopes);
-                       when(controller.getDataByQuery("from PolicyEditorScopes where SCOPENAME like 'com%'")).thenReturn(policyEditorScopes);
-                       when(controller.getDataByQuery("from PolicyVersion where POLICY_NAME like 'com%'")).thenReturn(policyVersion);
+                       when(controller.getDataByQuery("from PolicyEditorScopes", null)).thenReturn(policyEditorScopes);
+                       when(controller.getDataByQuery("from PolicyEditorScopes where SCOPENAME like :scopeName", null)).thenReturn(policyEditorScopes);
+                       when(controller.getDataByQuery("from PolicyVersion where POLICY_NAME like :scopeName", null)).thenReturn(policyVersion);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -192,8 +241,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_SampleTest1206.1.xml', onlyFolders: false}}");
@@ -202,7 +249,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_SampleTest1206.1.xml' and scope ='com'")).thenReturn(basePolicyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(basePolicyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -237,9 +284,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml', onlyFolders: false}}");
@@ -248,7 +293,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -283,9 +328,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Raw_TestBRMSRawPolicy.1.xml', onlyFolders: false}}");
@@ -294,7 +337,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_BRMS_Raw_TestBRMSRawPolicy.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -330,8 +373,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_Fault_TestClosedLoopPolicy.1.xml', onlyFolders: false}}");
@@ -340,7 +381,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_Fault_TestClosedLoopPolicy.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -376,8 +417,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_PM_TestClosedLoopPMPolicy.1.xml', onlyFolders: false}}");
@@ -386,7 +425,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_PM_TestClosedLoopPMPolicy.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -428,9 +467,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_MS_vFirewall.1.xml', onlyFolders: false}}");
@@ -440,7 +477,7 @@ public class PolicyManagerServletTest extends Mockito{
                        when(request.getReader()).thenReturn(reader);
                        when(commonClassDao.getDataById(GroupPolicyScopeList.class, "groupList", "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop")).thenReturn(groupListData);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_MS_vFirewall.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -476,8 +513,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_FW_TestFireWallPolicy.1.xml', onlyFolders: false}}");
@@ -486,7 +521,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_FW_TestFireWallPolicy.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -519,9 +554,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Action_TestActionPolicy.1.xml', onlyFolders: false}}");
@@ -530,7 +563,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Action_TestActionPolicy.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);
@@ -557,9 +590,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<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml', onlyFolders: false}}");
@@ -568,7 +599,7 @@ public class PolicyManagerServletTest extends Mockito{
             try {
                        when(request.getReader()).thenReturn(reader);
                        when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml' and scope ='com'")).thenReturn(policyData);
+                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0", null)).thenReturn(policyData);
                        servlet.setPolicyController(controller);
                        servlet.setTestUserId("Test");
                        servlet.doPost(request, response);