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=c3b98f5257fe657baf657e4f79d5f074f14109d0;hb=HEAD;hp=cf85186a000e9abd94d49d56a93dc69855b009ca;hpb=3fcc3204c1c65a5e5f774088bca1fd81dedd9ddb;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 cf85186a0..c3b98f525 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 @@ -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,16 +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.PowerMockIgnore; -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) -@PowerMockIgnore({"com.sun.org.apache.xerces.*", "jdk.internal.reflect.*", "javax.xml.*", "org.xml.*", "org.w3c.*"}) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) public class PolicyManagerServletTest extends Mockito { private static Logger logger = FlexLogger.getLogger(PolicyManagerServletTest.class); @@ -95,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. * @@ -180,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 { @@ -201,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 { @@ -218,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 { @@ -236,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( @@ -255,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 list = new ArrayList<>(); @@ -283,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 list = new ArrayList<>(); @@ -307,7 +312,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editBRMSParamPolicyTest() { + public void test07editBRMSParamPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; String configData = ""; @@ -355,7 +360,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editBRMSRawPolicyTest() { + public void test08editBRMSRawPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; String configData = ""; @@ -403,7 +408,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editClosedLoopFaultPolicyTest() { + public void test09editClosedLoopFaultPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; String configData = ""; @@ -451,7 +456,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editClosedLoopPMPolicyTest() { + public void test10editClosedLoopPMPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; String configData = ""; @@ -498,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," @@ -554,7 +559,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editFirewallPolicyTest() { + public void test12editFirewallPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; String configData = ""; @@ -600,7 +605,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editActionPolicyTest() { + public void test13editActionPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; String configData = ""; @@ -643,7 +648,7 @@ public class PolicyManagerServletTest extends Mockito { @SuppressWarnings("static-access") @Test - public void editDecisionPolicyTest() { + public void test14editDecisionPolicyTest() { List policyData = new ArrayList<>(); String policyContent = ""; try { @@ -681,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 readers = new ArrayList<>(); @@ -703,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 readers = new ArrayList<>(); @@ -728,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 readers = new ArrayList<>(); @@ -753,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 readers = new ArrayList<>(); @@ -781,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); @@ -799,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); @@ -814,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); @@ -827,53 +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); } - @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); @@ -885,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); @@ -920,10 +934,22 @@ public class PolicyManagerServletTest extends Mockito { Set setOfScopes = new HashSet(); Pair, List> pairList = new Pair, List>(setOfScopes, listOfRoles); + PolicyManagerServlet servlet = new PolicyManagerServlet() { + private static final long serialVersionUID = 1L; + + @Override + protected User getUserSession(HttpServletRequest request) { + return mockUser; + } + + @Override + protected Pair, List> checkRoleAndScope(List 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); @@ -989,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); @@ -1041,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 policyEntityList = new ArrayList(); 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"); @@ -1092,10 +1123,11 @@ public class PolicyManagerServletTest extends Mockito { } @Test - public void testParsePolicyList() throws Exception { + public void test29ParsePolicyList() throws Exception { PolicyManagerServlet servlet = new PolicyManagerServlet(); List resultList = new ArrayList(); PolicyController mockPolicyController = Mockito.mock(PolicyController.class); + UserInfo mockUserInfo = Mockito.mock(UserInfo.class); String policyName = "sampleName\\"; String policyVersion = "sampleVersion"; List activeDataList = new ArrayList(); @@ -1110,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();