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=e349d53ac7c295b73fe91eb4da0083354e7b10fa;hb=39db5ecce3151ad42bc0c5433d14b2a81887a4ef;hp=cf85186a000e9abd94d49d56a93dc69855b009ca;hpb=e37f5a70bcf3fd8073418c13416cc79c0ef47d59;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..e349d53ac 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,13 @@ 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.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 +71,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); @@ -180,7 +174,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 +195,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 +212,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 +230,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 +249,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 +277,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 +301,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 +349,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 +397,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 +445,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 +492,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 +548,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 +594,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 +637,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 +675,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 +697,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 +722,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 +747,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 +775,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 +793,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 +808,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 +821,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 +892,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 +923,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 +1004,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 +1056,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 +1112,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 +1131,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();