From 7cae082727705edc04a2686167f2cb0bbd5f55cc Mon Sep 17 00:00:00 2001 From: Murali-P Date: Tue, 4 Apr 2017 16:19:45 +0530 Subject: Add unit tests Resolved:VNFSDK-21 VNF SDK Function tests Change-Id: I8ed06549a0c741b4a5f46ce7d5ad8ce68b730aac Signed-off-by: Murali-P --- vnf-sdk-function-test/pom.xml | 11 +++ .../externalservice/entity/EnvironmentMapTest.java | 48 ++++++++++ .../externalservice/entity/EnvironmentTest.java | 49 ++++++++++ .../entity/OPerationStatusHandlerTest.java | 64 +++++++++++++ .../entity/OperationStatusTest.java | 46 +++++++++ .../externalservice/entity/ServiceNodeTest.java | 45 +++++++++ .../functest/resource/CommonManagerTest.java | 15 +++ .../openo/vnfsdk/functests/TaskExecutionTest.java | 105 +++++++++++++++++++++ .../responsehandler/TestResultParserTest.java | 38 ++++++++ .../responsehandler/TestResultTest.java | 46 +++++++++ 10 files changed, 467 insertions(+) create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentMapTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OPerationStatusHandlerTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OperationStatusTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/ServiceNodeTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functests/TaskExecutionTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultParserTest.java create mode 100644 vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultTest.java diff --git a/vnf-sdk-function-test/pom.xml b/vnf-sdk-function-test/pom.xml index a1aa46e..b9c783c 100644 --- a/vnf-sdk-function-test/pom.xml +++ b/vnf-sdk-function-test/pom.xml @@ -240,5 +240,16 @@ test + + org.mockito + mockito-all + 1.9.5 + + + + org.jmockit + jmockit + 1.19 + diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentMapTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentMapTest.java new file mode 100644 index 0000000..56ff72b --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentMapTest.java @@ -0,0 +1,48 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdk.functest.externalservice.entity; + +import static org.junit.Assert.assertNotNull; + +import java.util.UUID; + +import org.junit.Test; + +public class EnvironmentMapTest { + + private UUID uuid = UUID.randomUUID(); + + @Test + public void testGetInstance() { + assertNotNull(EnvironmentMap.getInstance()); + } + + @Test + public void testGetEnvmap() { + assertNotNull(EnvironmentMap.getInstance().getEnvmap()); + } + + @Test + public void testAddEnv() { + EnvironmentMap.getInstance().addEnv(uuid, new Environment()); + } + + @Test + public void testDelEnv() { + EnvironmentMap.getInstance().delEnv(uuid); + } +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentTest.java new file mode 100644 index 0000000..78ef2d8 --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/EnvironmentTest.java @@ -0,0 +1,49 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdk.functest.externalservice.entity; + +import org.junit.Before; +import org.junit.Test; + +public class EnvironmentTest { + private Environment environment = null; + + @Before + public void setUp() { + environment = new Environment(); + } + + @Test + public void testSetRemoteIp() { + environment.setRemoteIp( "192.168.4.47" ); + } + + @Test + public void testSetUserName() { + environment.setUserName( "root" ); + } + + @Test + public void testSetPassword() { + environment.setPassword( "root123" ); + } + + @Test + public void testSetPath() { + environment.setPath( "src\\test\\resources" ); + } +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OPerationStatusHandlerTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OPerationStatusHandlerTest.java new file mode 100644 index 0000000..5c19d7a --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OPerationStatusHandlerTest.java @@ -0,0 +1,64 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdk.functest.externalservice.entity; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import javax.ws.rs.core.Response; + +import org.junit.Test; +import org.openo.vnfsdk.functest.externalservice.entity.OperationStatus.operResultCode; + +public class OPerationStatusHandlerTest { + + private UUID uuid = UUID.randomUUID(); + + private Map operStatusMap = new HashMap(); + + private Response response = null; + + @Test + public void testGetInstance() { + assertNotNull(OperationStatusHandler.getInstance()); + } + + @Test + public void testGetOperStatusMap() { + assertNotNull(OperationStatusHandler.getInstance().getOperStatusMap()); + } + + @Test + public void testSetOperStatusMap() { + OperationStatus operationStatus = new OperationStatus(); + operationStatus.setoResultCode(operResultCode.SUCCESS); + operationStatus.setOperResultMessage("success"); + operationStatus.setOperFinished(true); + operStatusMap.put(uuid, operationStatus); + } + + @Test + public void testGetOperationStatus() { + response = OperationStatusHandler.getInstance().getOperationStatus(uuid); + assertNotNull(response); + assertEquals(200, response.getStatus()); + } +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OperationStatusTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OperationStatusTest.java new file mode 100644 index 0000000..12a861c --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/OperationStatusTest.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdk.functest.externalservice.entity; + +import org.junit.Before; +import org.junit.Test; +import org.openo.vnfsdk.functest.externalservice.entity.OperationStatus.operResultCode; + +public class OperationStatusTest { + + private OperationStatus operationStatus = null; + + @Before + public void setUp() { + operationStatus = new OperationStatus(); + } + + @Test + public void setTestResultCode() { + operationStatus.setoResultCode(operResultCode.SUCCESS); + } + + @Test + public void setOperResultMsg() { + operationStatus.setOperResultMessage("success"); + } + + @Test + public void testOperationFinished() { + operationStatus.setOperFinished(true); + } +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/ServiceNodeTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/ServiceNodeTest.java new file mode 100644 index 0000000..4884a9f --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/externalservice/entity/ServiceNodeTest.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdk.functest.externalservice.entity; + +import org.junit.Before; +import org.junit.Test; + +public class ServiceNodeTest { + + private ServiceNode serviceNode = null; + + @Before + public void setUp() { + serviceNode = new ServiceNode(); + } + + @Test + public void testSetIP() { + serviceNode.setIp("192.168.4.47"); + } + + @Test + public void testSetPort() { + serviceNode.setPort("8080"); + } + + @Test + public void testSetTtl() { + serviceNode.setTtl(80); + } +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/resource/CommonManagerTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/resource/CommonManagerTest.java index 5bda1ec..e4f59f2 100644 --- a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/resource/CommonManagerTest.java +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functest/resource/CommonManagerTest.java @@ -40,11 +40,26 @@ public class CommonManagerTest { private String instanceId = "1234567"; + private Response response = null; + @Before public void setUp() { commonManger = new CommonManager(); } + @Test + public void testSetEnvironment() { + try { + + String jsonInput = + "{\"RemoteIp\":\"192.168.4.47\",\"UserName\":\"root\",\"Password\":\"root123\", \"Path\":\"/src/test/resources\"}"; + response = commonManger.setEnvironment(jsonInput); + assertNotNull(response); + } catch(Exception e) { + e.printStackTrace(); + } + } + @Test public void testexecuteFunc() throws FileNotFoundException { diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functests/TaskExecutionTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functests/TaskExecutionTest.java new file mode 100644 index 0000000..295542b --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdk/functests/TaskExecutionTest.java @@ -0,0 +1,105 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdk.functests; + +import java.util.UUID; + +import org.junit.Before; +import org.junit.Test; + +import org.openo.vnfsdk.functest.TaskExecution; +import org.openo.vnfsdk.functest.externalservice.entity.Environment; + +import org.openo.vnfsdk.functest.externalservice.entity.EnvironmentMap; + +import mockit.Mock; +import mockit.MockUp; + +public class TaskExecutionTest { + + private TaskExecution testExecution = null; + private Environment functestEnv = null; + + private String dirPath = "src\\test\\resources\\RobotScript"; + private UUID UUIDEnv = UUID.randomUUID(); + private UUID UUIDUpload = UUID.randomUUID(); + private UUID uniqueKey = UUID.randomUUID(); + private String remoteIP = "192.168.4.47"; + private String userName = "root"; + private String password = "root123"; + private String path = "src\\test\\resources"; + private UUID envId = UUID.randomUUID(); + private UUID uploadId = UUID.randomUUID(); + private UUID executeId = UUID.randomUUID(); + private String frameworkType = "robotframework"; + + + @Before + public void setUp() { + testExecution = new TaskExecution(); + functestEnv = new Environment(); + } + + @Test + public void testExecuteScript() { + try { + testExecution.executeScript( dirPath, uniqueKey ); + } catch( Exception e ) { + e.printStackTrace(); + } + } + + @Test + 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; + } + }; + try { + testExecution.executeRobotScript(envId, uploadId, executeId, frameworkType ); + } catch( Exception e ) { + e.printStackTrace(); + } + } + + @Test + 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; + } + }; + try { + testExecution.uploadScript( dirPath, UUIDEnv, UUIDUpload ); + } catch( Exception e ) { + e.printStackTrace(); + } + } + + +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultParserTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultParserTest.java new file mode 100644 index 0000000..9f43adc --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultParserTest.java @@ -0,0 +1,38 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdkfunctest.responsehandler; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Before; +import org.junit.Test; +import org.openo.vnfsdk.functest.responsehandler.TestResultParser; + +public class TestResultParserTest { + + private TestResultParser testResParser = null; + + @Before + public void setUp() { + testResParser = new TestResultParser(); + } + + @Test + public void testPopulateResultList() { + assertNotNull(testResParser.populateResultList("src/test/resources/sample.xml")); + } +} diff --git a/vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultTest.java b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultTest.java new file mode 100644 index 0000000..a2b50f3 --- /dev/null +++ b/vnf-sdk-function-test/src/test/java/org/openo/vnfsdkfunctest/responsehandler/TestResultTest.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openo.vnfsdkfunctest.responsehandler; + +import org.junit.Before; +import org.junit.Test; +import org.openo.vnfsdk.functest.responsehandler.TestResult; + +public class TestResultTest { + + private TestResult testResult = null; + + @Before + public void setUp() { + testResult = new TestResult(); + } + + @Test + public void testSetName() { + testResult.setName("Huawei"); + } + + @Test + public void testSetDescription() { + testResult.setDescription("description"); + } + + @Test + public void testStatus() { + testResult.setStatus("success"); + } +} -- cgit 1.2.3-korg