aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDilip kumar Pampana <dilip.kumar.pampana@ibm.com>2018-07-18 11:23:24 -0400
committerDilip kumar Pampana <dilip.kumar.pampana@ibm.com>2018-07-19 14:12:02 +0000
commit61bd9e88da260a93f66653836bf064ba8cae286d (patch)
tree67f5fd221e4b624055f5cc41b1db3a6589ed25d7
parent8379e2a201b65bfe911bc3887ffe6e604196302b (diff)
Junit tests for config/flowController
Junit Tests for code coverage in config/flow-controller, added a constructor in FlowControlDBService.java file to get the code coverage. Issue-ID: APPC-1090 Change-Id: If1c33d1bfde58fc5f22ef2faa50380e71f2fdac4 Signed-off-by: Dilip kumar Pampana <dilip.kumar.pampana@ibm.com>
-rw-r--r--appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/dbervices/FlowControlDBService.java6
-rw-r--r--appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlDBServiceTest.java289
-rw-r--r--appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockDBService.java49
-rw-r--r--appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockSvcLogicResource.java53
4 files changed, 276 insertions, 121 deletions
diff --git a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/dbervices/FlowControlDBService.java b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/dbervices/FlowControlDBService.java
index 7ef232fac..733d03bf6 100644
--- a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/dbervices/FlowControlDBService.java
+++ b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/dbervices/FlowControlDBService.java
@@ -57,7 +57,11 @@ public class FlowControlDBService {
serviceLogic = new SqlResource();
}
}
-
+
+ protected FlowControlDBService(SqlResource svcLogic) {
+ serviceLogic = svcLogic;
+ }
+
public static FlowControlDBService initialise() {
if (dgGeneralDBService == null) {
dgGeneralDBService = new FlowControlDBService();
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlDBServiceTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlDBServiceTest.java
index aee03d8eb..d1edf544b 100644
--- a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlDBServiceTest.java
+++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlDBServiceTest.java
@@ -23,150 +23,199 @@
package org.onap.appc.flow.executor.node;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyString;
+import static org.junit.Assert.*;
import java.util.Map;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.onap.appc.flow.controller.data.Transaction;
-import org.onap.appc.flow.controller.dbervices.FlowControlDBService;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.onap.ccsdk.sli.core.dblib.DbLibService;
-import org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource;
-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.powermock.modules.junit4.PowerMockRunner;
-
-@PrepareForTest({ SqlResource.class, SvcLogicResource.class })
-@RunWith(PowerMockRunner.class)
-public class FlowControlDBServiceTest {
-@Mock
- SvcLogicResource serviceLogic;
-@Mock
-SqlResource sqlrs;
-@Mock
-QueryStatus dblibSvc ;
+import org.powermock.reflect.Whitebox;
- private static FlowControlDBService dgGeneralDBService = FlowControlDBService.initialise();
- private Transaction transaction;;
+//@PrepareForTest({ SqlResource.class, SvcLogicResource.class })
+//@RunWith(PowerMockRunner.class)
+public class FlowControlDBServiceTest {
+
+// @Mock
+// SvcLogicResource serviceLogic;
+//@Mock
+//SqlResource sqlrs;
+//@Mock
+//QueryStatus dblibSvc ;
+//
+// private static FlowControlDBService dgGeneralDBService = FlowControlDBService.initialise();
+//
+// private Transaction transaction;;
+//
+// @Before
+// public void setUp() throws Exception {
+// serviceLogic = new SqlResource();
+// }
+//
+//
+// /*public final void testGetFlowReferenceData() throws Exception {
+//
+// SvcLogicContext localContext = new SvcLogicContext();
+// FlowControlDBService dgGeneralDBService = FlowControlDBService.initialise();
+// PowerMockito.spy(SqlResource.class);
+//
+// Map<String, String> inParams = null;
+// //PowerMockito.doReturn(dblibSvc).when(SqlResource.class, "query");
+// Whitebox.invokeMethod(SqlResource.class, "query",anyString(), anyBoolean(), anyString(), anyString(), anyString(), anyString(), any(SvcLogicContext.class));
+//
+// dgGeneralDBService.getFlowReferenceData(localContext, inParams, localContext);
+// //Assert.assertEquals("SUCCESS", status);
+// //Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
+//
+// }*/
+//
+// @Test(expected=Exception.class)
+// public final void testGetFlowReferenceData() throws Exception {
+//
+// SvcLogicContext localContext = new SvcLogicContext();
+// FlowControlDBService dgGeneralDBService = FlowControlDBService.initialise();
+// PowerMockito.spy(FlowControlDBService.class);
+//
+//
+// PowerMockito.doReturn(dgGeneralDBService).when(SqlResource.class, "query");
+// String status = dgGeneralDBService.getDesignTimeFlowModel(localContext);
+// Assert.assertEquals("SUCCESS", status);
+// Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
+//
+// }
+//
+//
+// @Ignore("Test is taking 60 seconds")
+// @Test(expected=Exception.class)
+// public final void testGetDesignTimeFlowModel() throws Exception {
+// SvcLogicContext localContext = new SvcLogicContext();
+// String status = dgGeneralDBService.getDesignTimeFlowModel(localContext) ;
+// Assert.assertEquals("SUCCESS", status);
+// Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
+//
+//
+//
+//
+// }
+//
+// @Ignore("Test is taking 60 seconds")
+// @Test(expected=Exception.class)
+// public final void testLoadSequenceIntoDB() throws SvcLogicException {
+//
+//
+// SvcLogicContext localContext = new SvcLogicContext();
+// QueryStatus status = dgGeneralDBService.loadSequenceIntoDB(localContext) ;
+// Assert.assertEquals("SUCCESS", status);
+// Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
+// /*SvcLogicContext ctx = new SvcLogicContext();
+//
+// if (serviceLogic != null && localContext != null) {
+// String queryString = "INSERT INTO " + FlowControllerConstants.DB_REQUEST_ARTIFACTS
+// + " set request_id = ' kusuma_test' , action = 'Configure', action_level = 'VNF' , vnf_type = 'vComp' , category = 'config_Template' , artifact_content = '', updated_date = sysdate() ";
+// Mockito.when(serviceLogic.save("SQL", false, false, queryString, null, null, localContext))
+// .thenReturn(status);
+// Assert.assertEquals("SUCCESS", status);
+// Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);*/
+//
+//
+//
+// }
+//
+// @Ignore
+// @Test(expected=Exception.class)
+// public final void testPopulateModuleAndRPC() throws Exception {
+// SvcLogicContext localContext = new SvcLogicContext();
+// SvcLogicContext ctx = new SvcLogicContext();
+// String vnf_type = "test";
+// dgGeneralDBService.populateModuleAndRPC(transaction, vnf_type);;
+//
+//
+// }
+//
+// @Ignore("Test is taking 60 seconds")
+// @Test(expected=Exception.class)
+// public final void testGetDependencyInfo() throws SvcLogicException {
+// SvcLogicContext localContext = new SvcLogicContext();
+// String status = dgGeneralDBService.getDependencyInfo(localContext);
+// Assert.assertEquals("SUCCESS", status);
+// Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
+//
+// }
+//
+// @Ignore("Test is taking 60 seconds")
+// @Test(expected=Exception.class)
+// public final void testGetCapabilitiesData() throws SvcLogicException {
+// SvcLogicContext localContext = new SvcLogicContext();
+// String status = dgGeneralDBService.getCapabilitiesData(localContext);
+// Assert.assertEquals("SUCCESS", status);
+// Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
+//
+// }
+
+
+ @Test
+ public final void testGetCapabilitiesData1() throws Exception {
+ MockDBService dbService = MockDBService.initialise();
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("test", "test");
+ String status = dbService.getCapabilitiesData(ctx);
+ assertEquals("TestArtifactContent", status);
- @Before
- public void setUp() throws Exception {
- serviceLogic = new SqlResource();
}
-
- /*public final void testGetFlowReferenceData() throws Exception {
-
- SvcLogicContext localContext = new SvcLogicContext();
- FlowControlDBService dgGeneralDBService = FlowControlDBService.initialise();
- PowerMockito.spy(SqlResource.class);
-
- Map<String, String> inParams = null;
- //PowerMockito.doReturn(dblibSvc).when(SqlResource.class, "query");
- Whitebox.invokeMethod(SqlResource.class, "query",anyString(), anyBoolean(), anyString(), anyString(), anyString(), anyString(), any(SvcLogicContext.class));
-
- dgGeneralDBService.getFlowReferenceData(localContext, inParams, localContext);
- //Assert.assertEquals("SUCCESS", status);
- //Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
-
- }*/
-
- @Test(expected=Exception.class)
- public final void testGetFlowReferenceData() throws Exception {
-
- SvcLogicContext localContext = new SvcLogicContext();
- FlowControlDBService dgGeneralDBService = FlowControlDBService.initialise();
- PowerMockito.spy(FlowControlDBService.class);
-
-
- PowerMockito.doReturn(dgGeneralDBService).when(SqlResource.class, "query");
- String status = dgGeneralDBService.getDesignTimeFlowModel(localContext);
- Assert.assertEquals("SUCCESS", status);
- Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
-
+ @Test
+ public final void testGetDependencyInfo() throws Exception {
+ MockDBService dbService = MockDBService.initialise();
+ SvcLogicContext ctx = new SvcLogicContext();
+ String status = dbService.getDependencyInfo(ctx);
+ assertEquals("TestArtifactContent", status);
}
-
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
+ @Test
public final void testGetDesignTimeFlowModel() throws Exception {
- SvcLogicContext localContext = new SvcLogicContext();
- String status = dgGeneralDBService.getDesignTimeFlowModel(localContext) ;
- Assert.assertEquals("SUCCESS", status);
- Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
-
-
-
-
+ MockDBService dbService = MockDBService.initialise();
+ SvcLogicContext ctx = new SvcLogicContext();
+ String status = dbService.getDesignTimeFlowModel(ctx);
+ assertEquals("TestArtifactContent", status);
}
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
- public final void testLoadSequenceIntoDB() throws SvcLogicException {
-
-
- SvcLogicContext localContext = new SvcLogicContext();
- QueryStatus status = dgGeneralDBService.loadSequenceIntoDB(localContext) ;
- Assert.assertEquals("SUCCESS", status);
- Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
- /*SvcLogicContext ctx = new SvcLogicContext();
-
- if (serviceLogic != null && localContext != null) {
- String queryString = "INSERT INTO " + FlowControllerConstants.DB_REQUEST_ARTIFACTS
- + " set request_id = ' kusuma_test' , action = 'Configure', action_level = 'VNF' , vnf_type = 'vComp' , category = 'config_Template' , artifact_content = '', updated_date = sysdate() ";
- Mockito.when(serviceLogic.save("SQL", false, false, queryString, null, null, localContext))
- .thenReturn(status);
- Assert.assertEquals("SUCCESS", status);
- Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);*/
-
-
-
+ @Test
+ public final void testGetFlowReferenceData() throws Exception {
+ MockDBService dbService = MockDBService.initialise();
+ SvcLogicContext ctx = new SvcLogicContext();
+ Map<String, String> inParams = null;
+ dbService.getFlowReferenceData(ctx, inParams, ctx);
+ assertEquals("TestSequence", ctx.getAttribute("SEQUENCE_TYPE"));
}
- @Ignore
- @Test(expected=Exception.class)
- public final void testPopulateModuleAndRPC() throws Exception {
- SvcLogicContext localContext = new SvcLogicContext();
+ @Test
+ public final void testLoadSequenceIntoDB1() throws Exception {
+ MockDBService dbService = MockDBService.initialise();
SvcLogicContext ctx = new SvcLogicContext();
- String vnf_type = "test";
- dgGeneralDBService.populateModuleAndRPC(transaction, vnf_type);;
-
-
+ QueryStatus result = dbService.loadSequenceIntoDB(ctx);
+ assertEquals("SUCCESS", result.toString());
}
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
- public final void testGetDependencyInfo() throws SvcLogicException {
- SvcLogicContext localContext = new SvcLogicContext();
- String status = dgGeneralDBService.getDependencyInfo(localContext);
- Assert.assertEquals("SUCCESS", status);
- Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
-
+ @Test
+ public final void testPopulateModuleAndRPC() throws Exception {
+ MockDBService dbService = MockDBService.initialise();
+ Transaction transaction = new Transaction();
+ String vnfType = "TestVNF";
+ dbService.populateModuleAndRPC(transaction, vnfType);
+ assertEquals("TestModule", transaction.getExecutionModule());
}
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
- public final void testGetCapabilitiesData() throws SvcLogicException {
- SvcLogicContext localContext = new SvcLogicContext();
- String status = dgGeneralDBService.getCapabilitiesData(localContext);
- Assert.assertEquals("SUCCESS", status);
- Assert.assertNotEquals("Error - while getting FlowReferenceData", "FAILURE", status);
-
+ @Test
+ public void testHasSingleProtocol() throws Exception {
+ MockDBService dbService = MockDBService.initialise();
+ SvcLogicContext ctx = new SvcLogicContext();
+ String vnfTType = "TestVNF";
+ String fn = "test";
+ Transaction transaction = new Transaction();
+ boolean result = Whitebox.invokeMethod(dbService, "hasSingleProtocol", transaction, vnfTType, fn, ctx);
+ assertEquals(true, result);
}
-
}
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockDBService.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockDBService.java
new file mode 100644
index 000000000..cd11dbf68
--- /dev/null
+++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockDBService.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2018 IBM
+ * ================================================================================
+ * 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.
+ *
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.appc.flow.executor.node;
+
+
+import org.onap.appc.flow.controller.dbervices.FlowControlDBService;
+
+public class MockDBService extends FlowControlDBService {
+ private static MockDBService mockDgGeneralDBService = null;
+ private static MockSvcLogicResource serviceLogic = new MockSvcLogicResource();
+
+ public MockDBService() {
+ super(serviceLogic);
+ if (mockDgGeneralDBService != null) {
+ mockDgGeneralDBService = new MockDBService(serviceLogic);
+ }
+
+ }
+
+ public MockDBService(MockSvcLogicResource serviceLogic2) {
+ super(serviceLogic);
+ }
+
+ public static MockDBService initialise() {
+ if (mockDgGeneralDBService == null) {
+ mockDgGeneralDBService = new MockDBService(serviceLogic);
+ }
+ return mockDgGeneralDBService;
+ }
+}
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockSvcLogicResource.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockSvcLogicResource.java
new file mode 100644
index 000000000..15dcd2b0a
--- /dev/null
+++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/MockSvcLogicResource.java
@@ -0,0 +1,53 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2018 IBM
+ * ================================================================================
+ * 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.
+ *
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.appc.flow.executor.node;
+
+import java.util.Map;
+
+import org.onap.appc.flow.controller.utils.FlowControllerConstants;
+import org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+
+public class MockSvcLogicResource extends SqlResource {
+
+ @Override
+ public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
+ String orderBy, SvcLogicContext ctx) throws SvcLogicException {
+ ctx.setAttribute("artifact-content", "TestArtifactContent");
+ ctx.setAttribute(FlowControllerConstants.EXECUTION_TYPE,"TestRPC");
+ ctx.setAttribute(FlowControllerConstants.EXECUTTION_MODULE,"TestModule");
+ ctx.setAttribute(FlowControllerConstants.EXECUTION_RPC,"TestRPC");
+ ctx.setAttribute("count(protocol)", "1");
+ ctx.setAttribute("protocol", "TestProtocol");
+ ctx.setAttribute("SEQUENCE_TYPE", "TestSequence");
+ return QueryStatus.SUCCESS;
+ }
+
+
+ @Override
+ public QueryStatus save(String resource, boolean force, boolean localOnly, String key, Map<String, String> parms,
+ String prefix, SvcLogicContext ctx) throws SvcLogicException {
+ return QueryStatus.SUCCESS;
+ }
+}