From 2f07f0dab9e3ff9c1ab7b0c2e924d63711ef9cbe Mon Sep 17 00:00:00 2001 From: Kailun Qin Date: Thu, 19 Apr 2018 04:17:11 +0800 Subject: Remove jmockit to address license issues Jmockit contains GPL code which causes license issues. Remove it and replace with powermock/mockito for unit tests. Change-Id: I911de8a7666d9b3c72d4babb02014cca805bfaf8 Issue-ID: VNFSDK-246 Signed-off-by: Kailun Qin --- vnf-sdk-function-test/pom.xml | 7 +-- .../onap/vnfsdk/functest/TaskExecutionTest.java | 47 +++++++++-------- .../functest/scriptmgr/ScriptManagerTest.java | 60 +++++++++------------- .../vnfsdk/functest/taskmgr/TaskManagerTest.java | 30 +++++------ 4 files changed, 63 insertions(+), 81 deletions(-) diff --git a/vnf-sdk-function-test/pom.xml b/vnf-sdk-function-test/pom.xml index d2b3be9..12ba2a8 100644 --- a/vnf-sdk-function-test/pom.xml +++ b/vnf-sdk-function-test/pom.xml @@ -286,12 +286,7 @@ org.mockito mockito-all 2.0.2-beta - - - - org.jmockit - jmockit - 1.25 + test javax.xml.bind diff --git a/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/TaskExecutionTest.java b/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/TaskExecutionTest.java index 86dc566..e17c017 100644 --- a/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/TaskExecutionTest.java +++ b/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/TaskExecutionTest.java @@ -16,15 +16,20 @@ package org.onap.vnfsdk.functest; -import mockit.Mock; -import mockit.MockUp; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; import org.onap.vnfsdk.functest.externalservice.entity.Environment; import org.onap.vnfsdk.functest.externalservice.entity.EnvironmentMap; +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 java.util.UUID; +@RunWith(PowerMockRunner.class) public class TaskExecutionTest { private TaskExecution testExecution = null; @@ -57,17 +62,16 @@ public class TaskExecutionTest { } @Test + @PrepareForTest(EnvironmentMap.class) public void testExecuteRobotScript() { - new MockUp() { - @Mock - public synchronized Environment getEnv(UUID uuid) { - functestEnv.setRemoteIp(remoteIP); - functestEnv.setUserName(userName); - functestEnv.setPassword(password); - functestEnv.setPath(path); - return functestEnv; - } - }; + EnvironmentMap mockEnvironmentMap = PowerMockito.mock(EnvironmentMap.class); + Whitebox.setInternalState(EnvironmentMap.class, "oInstance", mockEnvironmentMap); + functestEnv.setRemoteIp(remoteIP); + functestEnv.setUserName(userName); + functestEnv.setPassword(password); + functestEnv.setPath(path); + PowerMockito.when(mockEnvironmentMap.getEnv(Mockito.any())).thenReturn(functestEnv); + try { testExecution.executeRobotScript(envId, executeId); } catch (Exception e) { @@ -76,17 +80,16 @@ public class TaskExecutionTest { } @Test + @PrepareForTest(EnvironmentMap.class) public void testUploadScript() { - new MockUp() { - @Mock - public synchronized Environment getEnv(UUID uuid) { - functestEnv.setRemoteIp(remoteIP); - functestEnv.setUserName(userName); - functestEnv.setPassword(password); - functestEnv.setPath(path); - return functestEnv; - } - }; + EnvironmentMap mockEnvironmentMap = PowerMockito.mock(EnvironmentMap.class); + Whitebox.setInternalState(EnvironmentMap.class, "oInstance", mockEnvironmentMap); + functestEnv.setRemoteIp(remoteIP); + functestEnv.setUserName(userName); + functestEnv.setPassword(password); + functestEnv.setPath(path); + PowerMockito.when(mockEnvironmentMap.getEnv(Mockito.any())).thenReturn(functestEnv); + try { testExecution.uploadScript(dirPath, UUIDEnv, UUIDUpload); } catch (Exception e) { diff --git a/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/scriptmgr/ScriptManagerTest.java b/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/scriptmgr/ScriptManagerTest.java index cf77560..1f799e4 100644 --- a/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/scriptmgr/ScriptManagerTest.java +++ b/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/scriptmgr/ScriptManagerTest.java @@ -17,11 +17,11 @@ package org.onap.vnfsdk.functest.scriptmgr; import io.dropwizard.testing.junit.DAOTestRule; -import mockit.Mock; -import mockit.MockUp; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; import org.onap.vnfsdk.functest.FileUtil; import org.onap.vnfsdk.functest.db.TaskMgrCaseTblDAO; import org.onap.vnfsdk.functest.db.TaskMgrTaskTblDAO; @@ -32,6 +32,10 @@ import org.onap.vnfsdk.functest.models.TaskRecord; import org.onap.vnfsdk.functest.responsehandler.VnfFuncTestResponseHandler; import org.onap.vnfsdk.functest.util.RestResponseUtil; import org.onap.vnfsdk.functest.util.ZipCompressor; +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 javax.ws.rs.core.Response; import java.io.File; @@ -43,6 +47,7 @@ import java.util.UUID; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +@RunWith(PowerMockRunner.class) public class ScriptManagerTest { @Rule @@ -67,19 +72,15 @@ public class ScriptManagerTest { } @Test + @PrepareForTest({FileUtil.class}) public void testUploadFuncTestPackage() { URL url = Thread.currentThread().getContextClassLoader().getResource("RobotScript"); // Some temporary folder uploaded in github String zipFileName = "https://github.com/zoul/Finch/zipball/master/"; - new MockUp() { - - @Mock - public String[] getDirectory(String directory) { - File file = new File("temp"); - return file.list(); - } - }; + File file = new File("temp"); + PowerMockito.mockStatic(FileUtil.class); + PowerMockito.when(FileUtil.getDirectory(Mockito.anyString())).thenReturn(file.list()); try { // InputStream mockInputStream = new FileInputStream(zipFileName); @@ -102,31 +103,19 @@ public class ScriptManagerTest { } @Test + @PrepareForTest({OperationStatusHandler.class, VnfFuncTestResponseHandler.class}) public void testDownloadResults() { - MockUp mockOperationStatusHandler = new MockUp() { - - @Mock - public Response getOperationStatus(UUID uuid) { - OperationStatus operstatus = new OperationStatus(); - operstatus.setOperFinished(true); - operstatus.setoResultCode(OperationStatus.operResultCode.SUCCESS); - operstatus.setOperResultMessage("finished"); - return response; - } - }; - - MockUp mockVnfFuncTestResponseHandler = new MockUp() { - - @Mock - public Response downloadResults(String taskID) { - OperationStatus operstatus = new OperationStatus(); - operstatus.setOperFinished(true); - operstatus.setoResultCode(OperationStatus.operResultCode.SUCCESS); - operstatus.setOperResultMessage("finished"); - - return RestResponseUtil.getSuccessResponse(operstatus); - } - }; + OperationStatusHandler mockOperationStatusHandler = PowerMockito.mock(OperationStatusHandler.class); + Whitebox.setInternalState(OperationStatusHandler.class, "oInstance", mockOperationStatusHandler); + PowerMockito.when(mockOperationStatusHandler.getOperationStatus(Mockito.any())).thenReturn(response); + + VnfFuncTestResponseHandler mockVnfFuncTestResponseHandler = PowerMockito.mock(VnfFuncTestResponseHandler.class); + Whitebox.setInternalState(VnfFuncTestResponseHandler.class, "vnfFuncRspHandler", mockVnfFuncTestResponseHandler); + OperationStatus operstatus = new OperationStatus(); + operstatus.setOperFinished(true); + operstatus.setoResultCode(OperationStatus.operResultCode.SUCCESS); + operstatus.setOperResultMessage("finished"); + PowerMockito.when(mockVnfFuncTestResponseHandler.downloadResults(Mockito.anyString())).thenReturn(RestResponseUtil.getSuccessResponse(operstatus)); try { response = scriptManager.downloadResults(taskID); @@ -135,9 +124,6 @@ public class ScriptManagerTest { } catch (Exception e) { e.printStackTrace(); } - - mockOperationStatusHandler.tearDown(); - mockVnfFuncTestResponseHandler.tearDown(); } @Test diff --git a/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/taskmgr/TaskManagerTest.java b/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/taskmgr/TaskManagerTest.java index 921a8e0..cb2e154 100644 --- a/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/taskmgr/TaskManagerTest.java +++ b/vnf-sdk-function-test/src/test/java/org/onap/vnfsdk/functest/taskmgr/TaskManagerTest.java @@ -17,19 +17,23 @@ package org.onap.vnfsdk.functest.taskmgr; import io.dropwizard.testing.junit.DAOTestRule; -import mockit.Mock; -import mockit.MockUp; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.mockito.Mockito; import org.onap.vnfsdk.functest.db.TaskMgrCaseTblDAO; import org.onap.vnfsdk.functest.db.TaskMgrTaskTblDAO; import org.onap.vnfsdk.functest.externalservice.entity.OperationStatus; import org.onap.vnfsdk.functest.externalservice.entity.OperationStatusHandler; import org.onap.vnfsdk.functest.models.CaseRecord; import org.onap.vnfsdk.functest.models.TaskRecord; +import org.onap.vnfsdk.functest.responsehandler.VnfFuncTestResponseHandler; import org.onap.vnfsdk.functest.scriptmgr.ScriptManager; import org.onap.vnfsdk.functest.util.RestResponseUtil; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.reflect.Whitebox; import javax.ws.rs.core.Response; import java.lang.reflect.Method; @@ -40,6 +44,7 @@ import static org.junit.Assert.assertNotNull; public class TaskManagerTest { + public final ExpectedException exception = ExpectedException.none(); @Rule public DAOTestRule daoTestRule = DAOTestRule.newBuilder() .addEntityClass(TaskRecord.class) @@ -77,17 +82,11 @@ public class TaskManagerTest { @Test public void testStartOnboardTestingPackageIDAbsentInDB() { - new MockUp() { - @Mock - public UUID uploadFuncTestPackage(UUID taskID, UUID envID, String url) { - return UUID.randomUUID(); - } - }; - try { response = taskManager.startOnboardTesting(requestBody); - assertNotNull(response); + exception.expect(IndexOutOfBoundsException.class); assertEquals(201, response.getStatus()); + } catch (IndexOutOfBoundsException indexOutOfBoundsException) { } catch (Exception e) { e.printStackTrace(); } @@ -161,13 +160,12 @@ public class TaskManagerTest { } @Test + @PrepareForTest({VnfFuncTestResponseHandler.class}) public void testCollectTaskResultUncreated() { - new MockUp() { - @Mock - public Response downloadResults(UUID taskID) { - return RestResponseUtil.getSuccessResponse(null); - } - }; + VnfFuncTestResponseHandler mockVnfFuncTestResponseHandler = PowerMockito.mock(VnfFuncTestResponseHandler.class); + Whitebox.setInternalState(VnfFuncTestResponseHandler.class, "vnfFuncRspHandler", mockVnfFuncTestResponseHandler); + PowerMockito.when(mockVnfFuncTestResponseHandler.downloadResults(Mockito.anyString())).thenReturn(RestResponseUtil.getSuccessResponse(null)); + try { daoTestRule.inTransaction(() -> taskMgrCaseTblDAO.saveOrUpdate(new CaseRecord(taskID, funcID, testID, testResult, testDescription))); response = taskManager.collectTaskResult(taskID); -- cgit 1.2.3-korg