Update css file name in conf.py
[policy/engine.git] / POLICY-SDK-APP / src / test / java / org / onap / policy / admin / PolicyManagerServletTest.java
index d8c691a..c3b98f5 100644 (file)
@@ -27,11 +27,11 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.io.StringReader;
 import java.util.ArrayList;
@@ -47,13 +47,14 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
 import org.apache.commons.io.IOUtils;
 import org.json.JSONArray;
 import org.json.JSONObject;
+import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
 import org.mockito.Mockito;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
@@ -71,14 +72,10 @@ import org.onap.policy.rest.jpa.UserInfo;
 import org.onap.policy.utils.UserUtils.Pair;
 import org.onap.portalsdk.core.domain.User;
 import org.onap.portalsdk.core.util.SystemProperties;
-import org.onap.portalsdk.core.web.support.UserUtils;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.reflect.Whitebox;
 import org.springframework.mock.web.MockHttpServletResponse;
 
-@RunWith(PowerMockRunner.class)
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class PolicyManagerServletTest extends Mockito {
 
     private static Logger logger = FlexLogger.getLogger(PolicyManagerServletTest.class);
@@ -93,6 +90,16 @@ public class PolicyManagerServletTest extends Mockito {
     private HttpServletRequest request;
     private MockHttpServletResponse response;
 
+    /**
+     * Delete test File.
+     *
+     */
+    @AfterClass
+    public static void tearDown() {
+        File destroyFile = new File("testFileName.xls");
+        destroyFile.deleteOnExit();
+    }
+
     /**
      * setUp.
      *
@@ -178,7 +185,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testInit() {
+    public void test01Init() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         ServletConfig servletConfig = mock(ServletConfig.class);
         try {
@@ -199,7 +206,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testBadInitJson() {
+    public void test02BadInitJson() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         ServletConfig servletConfig = mock(ServletConfig.class);
         try {
@@ -216,7 +223,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testBadInitJsonInvalidFile() {
+    public void test03BadInitJsonInvalidFile() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         ServletConfig servletConfig = mock(ServletConfig.class);
         try {
@@ -234,7 +241,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void testDescribePolicy() {
+    public void test04DescribePolicy() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         BufferedReader reader = new BufferedReader(
@@ -253,7 +260,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void testPolicyScopeList() {
+    public void test05PolicyScopeList() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
@@ -281,7 +288,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editBasePolicyTest() {
+    public void test06editBasePolicyTest() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
@@ -305,7 +312,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editBRMSParamPolicyTest() {
+    public void test07editBRMSParamPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
@@ -353,7 +360,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editBRMSRawPolicyTest() {
+    public void test08editBRMSRawPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
@@ -401,7 +408,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editClosedLoopFaultPolicyTest() {
+    public void test09editClosedLoopFaultPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
@@ -449,7 +456,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editClosedLoopPMPolicyTest() {
+    public void test10editClosedLoopPMPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
@@ -496,7 +503,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editMicroServicePolicyTest() {
+    public void test11editMicroServicePolicyTest() {
         GroupPolicyScopeList groupData = new GroupPolicyScopeList();
         groupData.setGroupName("Test");
         groupData.setGroupList("resource=SampleResource,service=SampleService,type=SampleType,"
@@ -552,7 +559,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editFirewallPolicyTest() {
+    public void test12editFirewallPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
@@ -598,7 +605,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editActionPolicyTest() {
+    public void test13editActionPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
@@ -641,7 +648,7 @@ public class PolicyManagerServletTest extends Mockito {
 
     @SuppressWarnings("static-access")
     @Test
-    public void editDecisionPolicyTest() {
+    public void test14editDecisionPolicyTest() {
         List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         try {
@@ -679,7 +686,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testAddScope() {
+    public void test15AddScope() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<BufferedReader> readers = new ArrayList<>();
@@ -701,7 +708,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testClone() {
+    public void test16Clone() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<BufferedReader> readers = new ArrayList<>();
@@ -726,7 +733,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testRename() {
+    public void test17Rename() {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<BufferedReader> readers = new ArrayList<>();
@@ -751,7 +758,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testRenameScope() throws Exception {
+    public void test18RenameScope() throws Exception {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<BufferedReader> readers = new ArrayList<>();
@@ -779,14 +786,14 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testSetPolicyNames() {
+    public void test19SetPolicyNames() {
         JsonArray mockJsonArray = Mockito.mock(JsonArray.class);
         PolicyManagerServlet.setPolicyNames(mockJsonArray);
         assertEquals(mockJsonArray, PolicyManagerServlet.getPolicyNames());
     }
 
     @Test
-    public void testDoPostSetErrorException() throws IOException {
+    public void test20DoPostSetErrorException() throws IOException {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         HttpServletResponse mockResponse = Mockito.mock(HttpServletResponse.class);
@@ -797,7 +804,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testDoPostException() throws IOException {
+    public void test21DoPostException() throws IOException {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         HttpServletResponse mockResponse = Mockito.mock(HttpServletResponse.class);
@@ -812,7 +819,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testDoPostSuccess() throws IOException {
+    public void test22DoPostSuccess() throws IOException {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         HttpServletResponse mockResponse = Mockito.mock(HttpServletResponse.class);
@@ -825,54 +832,66 @@ public class PolicyManagerServletTest extends Mockito {
         verify(mockResponse).getWriter();
     }
 
-    @PrepareForTest(ServletFileUpload.class)
     @Test
-    public void testDoPostUploadFileException() {
-        PolicyManagerServlet servlet = new PolicyManagerServlet();
+    public void test23DoPostUploadFileException() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet() {
+            private static final long serialVersionUID = 1L;
+            @Override
+            protected boolean isMultipartContent(HttpServletRequest request) {
+                return true;
+            }
+        };
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         HttpServletResponse mockResponse = Mockito.mock(HttpServletResponse.class);
-        PowerMockito.mockStatic(ServletFileUpload.class);
-        when(ServletFileUpload.isMultipartContent(mockRequest)).thenReturn(true);
         servlet.doPost(mockRequest, mockResponse);
-        PowerMockito.verifyStatic(ServletFileUpload.class, Mockito.times(1));
     }
 
-    @SuppressWarnings("unchecked")
-    @PrepareForTest({PolicyController.class, IOUtils.class})
     @Test
-    public void testProcessFormFile() throws Exception {
-        PolicyManagerServlet servlet = new PolicyManagerServlet();
+    public void test24ProcessFormFile() throws Exception {
+        long fileSizeLimit = 10;
+
+        PolicyManagerServlet servlet = new PolicyManagerServlet() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            protected long getFileSizeLimit() {
+                return fileSizeLimit;
+            }
+
+            @Override
+            protected long copyStream(InputStream inputStream, OutputStream outputStream) throws IOException {
+                // don't really copy the file
+                return 0;
+            }
+        };
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
+        HttpServletResponse mockResp = Mockito.mock(HttpServletResponse.class);
         FileItem mockFileItem = Mockito.mock(FileItem.class);
-        PowerMockito.mockStatic(PolicyController.class);
-        PowerMockito.mockStatic(IOUtils.class);
         InputStream mockInputStream = Mockito.mock(InputStream.class);
 
-        long fileSizeLimit = 10;
-        when(PolicyController.getFileSizeLimit()).thenReturn(fileSizeLimit);
         when(mockFileItem.getName()).thenReturn("testFileName.xls");
         when(mockFileItem.getInputStream()).thenReturn(mockInputStream);
         when(mockFileItem.getSize()).thenReturn(fileSizeLimit + 1);
 
-        Whitebox.invokeMethod(servlet, "processFormFile", mockRequest, mockFileItem);
+        Whitebox.invokeMethod(servlet, "processFormFile", mockRequest, mockFileItem, mockResp);
         verify(mockFileItem, atLeast(1)).getName();
         verify(mockFileItem, atLeast(1)).getSize();
 
         when(mockFileItem.getName()).thenReturn("testFileName.txt");
-        Whitebox.invokeMethod(servlet, "processFormFile", mockRequest, mockFileItem);
+        Whitebox.invokeMethod(servlet, "processFormFile", mockRequest, mockFileItem, mockResp);
         verify(mockFileItem, atLeast(1)).getName();
 
         when(mockFileItem.getSize()).thenReturn(fileSizeLimit);
         when(mockFileItem.getName()).thenReturn("testFileName.xls");
         when(mockFileItem.getInputStream()).thenThrow(IOException.class);
-        Whitebox.invokeMethod(servlet, "processFormFile", mockRequest, mockFileItem);
+        Whitebox.invokeMethod(servlet, "processFormFile", mockRequest, mockFileItem, mockResp);
         verify(mockFileItem, atLeast(1)).getName();
         verify(mockFileItem, atLeast(1)).getInputStream();
         verify(mockFileItem, atLeast(1)).getSize();
     }
 
     @Test
-    public void testSearchPolicyList() throws Exception {
+    public void test25SearchPolicyList() throws Exception {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         JSONObject mockJSONObject = Mockito.mock(JSONObject.class);
@@ -884,12 +903,8 @@ public class PolicyManagerServletTest extends Mockito {
         assertNotNull(((JSONObject) res).get("result"));
     }
 
-    @PrepareForTest({UserUtils.class, org.onap.policy.utils.UserUtils.class})
     @Test
-    public void testLookupPolicyData() throws Exception {
-        PowerMockito.mockStatic(UserUtils.class);
-        PowerMockito.mockStatic(org.onap.policy.utils.UserUtils.class);
-        PolicyManagerServlet servlet = new PolicyManagerServlet();
+    public void test26LookupPolicyData() throws Exception {
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         User mockUser = Mockito.mock(User.class);
         UserInfo mockUserInfo = Mockito.mock(UserInfo.class);
@@ -919,10 +934,22 @@ public class PolicyManagerServletTest extends Mockito {
         Set<String> setOfScopes = new HashSet<String>();
         Pair<Set<String>, List<String>> pairList = new Pair<Set<String>, List<String>>(setOfScopes, listOfRoles);
 
+        PolicyManagerServlet servlet = new PolicyManagerServlet() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            protected User getUserSession(HttpServletRequest request) {
+                return mockUser;
+            }
+
+            @Override
+            protected Pair<Set<String>, List<String>> checkRoleAndScope(List<Object> userRoles) {
+                return pairList;
+            }
+        };
+
         PolicyManagerServlet.setPolicyController(mockPolicyController);
-        PowerMockito.when(UserUtils.getUserSession(mockRequest)).thenReturn(mockUser);
         when(mockPolicyController.getRoles(any(String.class))).thenReturn(rolesList);
-        PowerMockito.when(org.onap.policy.utils.UserUtils.checkRoleAndScope(rolesList)).thenReturn(pairList);
         when(mockPolicyController.getData(any(Class.class))).thenReturn(filterDataList);
         when(mockPolicyVersion.getPolicyName()).thenReturn("sampleName");
         when(mockPolicyVersion.getModifiedDate()).thenReturn(mockDate);
@@ -939,9 +966,9 @@ public class PolicyManagerServletTest extends Mockito {
                 mockPolicyController, resultList);
 
         assertTrue(result);
-        verify(mockPolicyController, atLeast(1)).getRoles(any(String.class));
-        verify(mockPolicyController, atLeast(1)).getRoles(any(String.class));
-        verify(mockPolicyController, atLeast(1)).getData(any(Class.class));
+        verify(mockPolicyController, atLeast(1)).getRoles(any());
+        verify(mockPolicyController, atLeast(1)).getRoles(any());
+        verify(mockPolicyController, atLeast(1)).getData(any());
         verify(mockPolicyController, atLeast(1)).getEntityItem(UserInfo.class, "userLoginId", "sampleUserName");
         verify(mockPolicyVersion, atLeast(1)).getPolicyName();
         verify(mockPolicyVersion, atLeast(1)).getModifiedDate();
@@ -988,7 +1015,7 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testDeleteEntityFromEsAndPolicyEntityTable() throws Exception {
+    public void test27DeleteEntityFromEsAndPolicyEntityTable() throws Exception {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController mockPolicyController = Mockito.mock(PolicyController.class);
         PolicyRestController mockPolicyRestController = Mockito.mock(PolicyRestController.class);
@@ -1040,21 +1067,26 @@ public class PolicyManagerServletTest extends Mockito {
         verify(mockPolicyController, atLeast(1)).deleteData(mockPolicyEntity);
     }
 
-    @PrepareForTest(UserUtils.class)
     @Test
-    public void testDelete() throws Exception {
-        PolicyManagerServlet servlet = new PolicyManagerServlet();
+    public void test28Delete() throws Exception {
         JSONObject mockJSONObject = Mockito.mock(JSONObject.class);
         HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
         User mockUser = Mockito.mock(User.class);
         PolicyController mockPolicyController = Mockito.mock(PolicyController.class);
-        PowerMockito.mockStatic(UserUtils.class);
         List<Object> policyEntityList = new ArrayList<Object>();
         PolicyEntity mockPolicyEntity = Mockito.mock(PolicyEntity.class);
         policyEntityList.add(mockPolicyEntity);
         long policyId = 1;
 
-        PowerMockito.when(UserUtils.getUserSession(mockRequest)).thenReturn(mockUser);
+        PolicyManagerServlet servlet = new PolicyManagerServlet() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            protected User getUserSession(HttpServletRequest request) {
+                return mockUser;
+            }
+        };
+
         PolicyManagerServlet.setPolicyController(mockPolicyController);
         when(mockUser.getOrgUserId()).thenReturn("sampleUserId");
         when(mockJSONObject.getString("path")).thenReturn("/sampleScope:samplePolicyName.1.xml");
@@ -1091,10 +1123,11 @@ public class PolicyManagerServletTest extends Mockito {
     }
 
     @Test
-    public void testParsePolicyList() throws Exception {
+    public void test29ParsePolicyList() throws Exception {
         PolicyManagerServlet servlet = new PolicyManagerServlet();
         List<JSONObject> resultList = new ArrayList<JSONObject>();
         PolicyController mockPolicyController = Mockito.mock(PolicyController.class);
+        UserInfo mockUserInfo = Mockito.mock(UserInfo.class);
         String policyName = "sampleName\\";
         String policyVersion = "sampleVersion";
         List<Object> activeDataList = new ArrayList<Object>();
@@ -1109,6 +1142,12 @@ public class PolicyManagerServletTest extends Mockito {
         when(mockPolicyVersion.getActiveVersion()).thenReturn(1);
         when(mockPolicyVersion.getCreatedBy()).thenReturn("sampleUserName");
         when(mockPolicyVersion.getModifiedBy()).thenReturn("sampleUserName");
+        //
+        // This intermittently throws an NPE, even when fixing the method order
+        //
+        when(mockPolicyController.getEntityItem(UserInfo.class, "userLoginId", "sampleUserName"))
+            .thenReturn(mockUserInfo);
+        when(mockUserInfo.getUserName()).thenReturn("testUserName");
         Whitebox.invokeMethod(servlet, "parsePolicyList", resultList, mockPolicyController, policyName, policyVersion);
         verify(mockPolicyController, atLeast(1)).getDataByQuery(any(String.class), any(SimpleBindings.class));
         verify(mockPolicyVersion, atLeast(1)).getPolicyName();