Resolved the POLICY-SDK-APP junit issue.
[policy/engine.git] / POLICY-SDK-APP / src / test / java / org / onap / policy / admin / PolicyManagerServletTest.java
index 22cc82a..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;
@@ -40,6 +43,7 @@ import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.controller.CreateDcaeMicroServiceController;
 import org.onap.policy.controller.PolicyController;
+import org.onap.policy.model.Roles;
 import org.onap.policy.rest.dao.CommonClassDao;
 import org.onap.policy.rest.jpa.ActionBodyEntity;
 import org.onap.policy.rest.jpa.ConfigurationDataEntity;
@@ -48,7 +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.openecomp.policy.model.Roles;
+import org.onap.portalsdk.core.domain.User;
+import org.onap.portalsdk.core.util.SystemProperties;
 
 public class PolicyManagerServletTest extends Mockito{
        
@@ -60,10 +65,16 @@ 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");
@@ -123,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
@@ -134,18 +152,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 +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}}");
@@ -193,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}}");
@@ -238,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}}");
@@ -284,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}}");
@@ -331,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}}");
@@ -377,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}}");
@@ -429,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}}");
@@ -477,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}}");
@@ -520,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}}");
@@ -558,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}}");