diff options
author | kurczews <krzysztof.kurczewski@nokia.com> | 2018-02-15 14:51:07 +0100 |
---|---|---|
committer | Patrick Brady <pb071s@att.com> | 2018-02-16 20:33:58 +0000 |
commit | cfc8a7b22d30696a227a410aaf17ac3110d6b59d (patch) | |
tree | 4d1ab1001400e44d87fd1b6c3eca8165ade944f6 /appc-config/appc-flow-controller/provider/src/test/java | |
parent | e0ff2c11d4b363276cc7867e2a5188d1d11b5f91 (diff) |
Improve coverage in flow/controller/node
* Extract separate class for property loading
* Extract separate class for extracting uri
* Add coverage for changes above
Change-Id: Ibffa09c96aef2764188cba69bf8cb559c8a9c10e
Issue-ID: APPC-440
Signed-off-by: kurczews <krzysztof.kurczewski@nokia.com>
Diffstat (limited to 'appc-config/appc-flow-controller/provider/src/test/java')
-rw-r--r-- | appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/PropertiesLoaderTest.java | 29 | ||||
-rw-r--r-- | appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/ResourceUriExtractorTest.java | 90 | ||||
-rw-r--r-- | appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/TestRestServiceNode.java (renamed from appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/TestRestServiceNode.java) | 9 | ||||
-rw-r--r-- | appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlNodeTest.java | 330 |
4 files changed, 287 insertions, 171 deletions
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/PropertiesLoaderTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/PropertiesLoaderTest.java new file mode 100644 index 000000000..66bf802c3 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/PropertiesLoaderTest.java @@ -0,0 +1,29 @@ +package org.onap.appc.flow.controller.node; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Properties; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +public class PropertiesLoaderTest { + + @Rule + public ExpectedException expectedException = ExpectedException.none(); + + @Test + public void should_load_property_file() throws IOException { + Properties properties = PropertiesLoader.load("src/test/resources/properties_loader.properties"); + + Assert.assertEquals("OK", properties.getProperty("test")); + } + + @Test + public void should_throw_if_file_does_not_exists() throws IOException { + expectedException.expect(FileNotFoundException.class); + PropertiesLoader.load("src/test/resources/non_existent.properties"); + } + +}
\ No newline at end of file diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/ResourceUriExtractorTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/ResourceUriExtractorTest.java new file mode 100644 index 000000000..d7a853d2e --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/ResourceUriExtractorTest.java @@ -0,0 +1,90 @@ +package org.onap.appc.flow.controller.node; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_CONTEXT; +import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_HOST_IP_ADDRESS; +import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_PORT_NUMBER; +import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION; +import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_SUB_CONTEXT; +import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_URL; + +import java.util.Properties; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; + +public class ResourceUriExtractorTest { + + private Properties prop; + + @Rule + public ExpectedException expectedException = ExpectedException.none(); + + @Before + public void setUp() { + prop = new Properties(); + } + + @Test + public void should_return_input_url_if_exist() throws Exception { + SvcLogicContext ctx = mock(SvcLogicContext.class); + when(ctx.getAttribute(INPUT_URL)).thenReturn("test resource uri"); + + String resourceUri = ResourceUriExtractor.extractResourceUri(ctx, prop); + + Assert.assertEquals("test resource uri", resourceUri); + } + + @Test + public void should_extract_url_input_if_context_input_provided() throws Exception { + SvcLogicContext ctx = mock(SvcLogicContext.class); + + when(ctx.getAttribute(INPUT_URL)).thenReturn(""); + when(ctx.getAttribute(INPUT_HOST_IP_ADDRESS)).thenReturn("localhost"); + when(ctx.getAttribute(INPUT_PORT_NUMBER)).thenReturn("8080"); + + when(ctx.getAttribute(INPUT_CONTEXT)).thenReturn("input-context"); + when(ctx.getAttribute(INPUT_SUB_CONTEXT)).thenReturn("input-sub-context"); + + String resourceUri = ResourceUriExtractor.extractResourceUri(ctx, prop); + + Assert.assertEquals("http://localhost:8080/input-context/input-sub-context", resourceUri); + } + + @Test + public void should_extract_url_input_if_request_action_provided() throws Exception { + SvcLogicContext ctx = mock(SvcLogicContext.class); + + when(ctx.getAttribute(INPUT_URL)).thenReturn(""); + when(ctx.getAttribute(INPUT_HOST_IP_ADDRESS)).thenReturn("localhost"); + when(ctx.getAttribute(INPUT_PORT_NUMBER)).thenReturn("8080"); + + when(ctx.getAttribute(INPUT_REQUEST_ACTION)).thenReturn("request-action"); + when(ctx.getAttribute(INPUT_REQUEST_ACTION)).thenReturn("request-action"); + + prop.put("request-action.context", "ra-context"); + prop.put("request-action.sub-context", "ra-sub-context"); + + String resourceUri = ResourceUriExtractor.extractResourceUri(ctx, prop); + + Assert.assertEquals("http://localhost:8080/ra-context/ra-sub-context", resourceUri); + } + + @Test + public void should_throw_exception_if_missing_context() throws Exception { + SvcLogicContext ctx = mock(SvcLogicContext.class); + + when(ctx.getAttribute(INPUT_URL)).thenReturn(""); + when(ctx.getAttribute(INPUT_HOST_IP_ADDRESS)).thenReturn("localhost"); + when(ctx.getAttribute(INPUT_PORT_NUMBER)).thenReturn("8080"); + + expectedException.expect(Exception.class); + expectedException.expectMessage("Could Not found the context for operation null"); + ResourceUriExtractor.extractResourceUri(ctx, prop); + } + +}
\ No newline at end of file diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/TestRestServiceNode.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/TestRestServiceNode.java index eb5bfd2fe..a6a207db7 100644 --- a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/TestRestServiceNode.java +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/TestRestServiceNode.java @@ -20,19 +20,16 @@ * ECOMP is a trademark and service mark of AT&T Intellectual Property. * ============LICENSE_END========================================================= */ -package org.onap.appc.flow.executor.node; +package org.onap.appc.flow.controller.node; +import java.util.HashMap; +import java.util.Map; import org.junit.Test; import org.onap.appc.flow.controller.data.Transaction; import org.onap.appc.flow.controller.executorImpl.RestExecutor; -import org.onap.appc.flow.controller.node.FlowControlNode; -import org.onap.appc.flow.controller.node.RestServiceNode; import org.onap.appc.flow.controller.utils.FlowControllerConstants; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; -import java.util.HashMap; -import java.util.Map; - public class TestRestServiceNode { @Test(expected=Exception.class) diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlNodeTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlNodeTest.java index f29628dcc..c94816937 100644 --- a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlNodeTest.java +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/FlowControlNodeTest.java @@ -1,165 +1,165 @@ -/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2017 Amdocs
- * =============================================================================
- * 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.
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.appc.flow.executor.node;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
-
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.onap.appc.flow.controller.data.Transaction;
-import org.onap.appc.flow.controller.data.Transactions;
-import org.onap.appc.flow.controller.dbervices.FlowControlDBService;
-import org.onap.appc.flow.controller.node.FlowControlNode;
-import org.onap.appc.flow.controller.utils.FlowControllerConstants;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.reflect.Whitebox;
-
-public class FlowControlNodeTest {
- @Mock
- FlowControlDBService dbservice = FlowControlDBService.initialise();
- @Mock
- FlowControlNode f = new FlowControlNode();
-
- Properties props = new Properties();
- private static final String SDNC_CONFIG_DIR_VAR = "SDNC_CONFIG_DIR";
- @Before
- public void setUp() throws Exception
-
- {
- FlowControlDBService dbservice = FlowControlDBService.initialise();
- }
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
- public final void testProcessFlow() throws Exception {
- SvcLogicContext ctx = new SvcLogicContext();
-
- ctx.setAttribute("request-id","test");
- ctx.setAttribute("vnf-type","test");
- ctx.setAttribute("action-level","HealthCheck");
- ctx.setAttribute("request-action","HealthCheck");
- ctx.setAttribute("response-prefix","response-prefix");
-
- Map<String, String> inParams = new HashMap<String, String>();
- inParams.put("responsePrefix", "responsePrefix");
-
-
- Whitebox.invokeMethod(f, "processFlow",inParams, ctx);
- /*Properties props = new Properties();
- PowerMockito.spy(FlowControlNode.class);
- Transactions trans =null;
- HashMap<Integer, Transaction> transactionMap = null;
- String artifact_content="{‘PlaybookName’:’service_start’,‘EnvParameters’:{‘vnf_instance’:’$vnf_instance’},’Timeout’:600}";
- String capabilitiesData = "SUCCESS";
- System.out.println("End Test when");*/
-
-
- }
- @Test
- public void testgetInventoryInfo() throws Exception
- {
- SvcLogicContext ctx = new SvcLogicContext();
- String vnfid = "test";
- ctx.setAttribute( " tmp.vnfInfo.vnf.vnf-name","test");
- ctx.setAttribute("tmp.vnfInfo.vm-count", "0");
- ctx.setAttribute( " tmp.vnfInfo.vnf.vnf-type","test");
- ctx.setAttribute( "tmp.vnfInfo.vm[0 ].vserverId","test" );
- ctx.setAttribute( "tmp.vnfInfo.vm[0 ].vnfc-name","test" );
- ctx.setAttribute( "tmp.vnfInfo.vm[0].vnfc-type","test" );
- ctx.setAttribute( " tmp.vnfInfo.vm[0].vnfc-count","1");
-
- Whitebox.invokeMethod(f, "getInventoryInfo", ctx, vnfid);
-
- }
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
- public void testprocessFlowSequence() throws Exception
- {
- Map<String, String> inparams = new HashMap<String,String>();
- SvcLogicContext ctx = new SvcLogicContext();
- ctx.setAttribute( " SEQUENCE-TYPE","test");
- ctx.setAttribute("flow-sequence", "1");
- ctx.setAttribute( "DesignTime","test");
- ctx.setAttribute( "vnf-type","test" );
-
- Whitebox.invokeMethod(f, "processFlowSequence",inparams, ctx, ctx);
-
- }
- @Test
- public void testexeuteAllTransaction() throws Exception
- {
- Map<Integer, Transaction> transactionMap = new HashMap<Integer,Transaction>();
- SvcLogicContext ctx = new SvcLogicContext();
- Whitebox.invokeMethod(f, "exeuteAllTransaction",transactionMap, ctx);
-
- }
- @Test
- public void testexeutepreProcessor() throws Exception
- {
- Map<Integer, Transaction> transactionMap = new HashMap<Integer,Transaction>();
- Transaction transaction = new Transaction();
- Whitebox.invokeMethod(f, "preProcessor",transactionMap, transaction);
-
- }
- @Test(expected=Exception.class)
- public void testcollectInputParams() throws Exception
- {
- SvcLogicContext ctx = new SvcLogicContext();
-
- Transaction transaction = new Transaction();
- Whitebox.invokeMethod(f, "collectInputParams",ctx, transaction);
-
- }
- @Ignore("Test is taking 60 seconds")
- @Test(expected=Exception.class)
- public void testgetDependencyInfo() throws Exception
- {
- SvcLogicContext ctx = new SvcLogicContext();
- Whitebox.invokeMethod(f, "getDependencyInfo",ctx);
-
- }
- public void testgetCapabilitesDatass() throws Exception
- {
- SvcLogicContext ctx = new SvcLogicContext();
- Whitebox.invokeMethod(f, "getDependencyInfo",ctx);
-
- }
-
-
-}
+/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.flow.executor.node; + +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.verify; + +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.onap.appc.flow.controller.data.Transaction; +import org.onap.appc.flow.controller.data.Transactions; +import org.onap.appc.flow.controller.dbervices.FlowControlDBService; +import org.onap.appc.flow.controller.node.FlowControlNode; +import org.onap.appc.flow.controller.utils.FlowControllerConstants; +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.reflect.Whitebox; + +public class FlowControlNodeTest { + @Mock + FlowControlDBService dbservice = FlowControlDBService.initialise(); + @Mock + FlowControlNode f = new FlowControlNode(); + + Properties props = new Properties(); + private static final String SDNC_CONFIG_DIR_VAR = "SDNC_CONFIG_DIR"; + @Before + public void setUp() throws Exception + + { + FlowControlDBService dbservice = FlowControlDBService.initialise(); + } + @Ignore("Test is taking 60 seconds") + @Test(expected=Exception.class) + public final void testProcessFlow() throws Exception { + SvcLogicContext ctx = new SvcLogicContext(); + + ctx.setAttribute("request-id","test"); + ctx.setAttribute("vnf-type","test"); + ctx.setAttribute("action-level","HealthCheck"); + ctx.setAttribute("request-action","HealthCheck"); + ctx.setAttribute("response-prefix","response-prefix"); + + Map<String, String> inParams = new HashMap<String, String>(); + inParams.put("responsePrefix", "responsePrefix"); + + + Whitebox.invokeMethod(f, "processFlow",inParams, ctx); + /*Properties props = new Properties(); + PowerMockito.spy(FlowControlNode.class); + Transactions trans =null; + HashMap<Integer, Transaction> transactionMap = null; + String artifact_content="{‘PlaybookName’:’service_start’,‘EnvParameters’:{‘vnf_instance’:’$vnf_instance’},’Timeout’:600}"; + String capabilitiesData = "SUCCESS"; + System.out.println("End Test when");*/ + + + } + @Test + public void testgetInventoryInfo() throws Exception + { + SvcLogicContext ctx = new SvcLogicContext(); + String vnfid = "test"; + ctx.setAttribute( " tmp.vnfInfo.vnf.vnf-name","test"); + ctx.setAttribute("tmp.vnfInfo.vm-count", "0"); + ctx.setAttribute( " tmp.vnfInfo.vnf.vnf-type","test"); + ctx.setAttribute( "tmp.vnfInfo.vm[0 ].vserverId","test" ); + ctx.setAttribute( "tmp.vnfInfo.vm[0 ].vnfc-name","test" ); + ctx.setAttribute( "tmp.vnfInfo.vm[0].vnfc-type","test" ); + ctx.setAttribute( " tmp.vnfInfo.vm[0].vnfc-count","1"); + + Whitebox.invokeMethod(f, "getInventoryInfo", ctx, vnfid); + + } + @Ignore("Test is taking 60 seconds") + @Test(expected=Exception.class) + public void testprocessFlowSequence() throws Exception + { + Map<String, String> inparams = new HashMap<String,String>(); + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute( " SEQUENCE-TYPE","test"); + ctx.setAttribute("flow-sequence", "1"); + ctx.setAttribute( "DesignTime","test"); + ctx.setAttribute( "vnf-type","test" ); + + Whitebox.invokeMethod(f, "processFlowSequence",inparams, ctx, ctx); + + } + @Test + public void testexeuteAllTransaction() throws Exception + { + Map<Integer, Transaction> transactionMap = new HashMap<Integer,Transaction>(); + SvcLogicContext ctx = new SvcLogicContext(); + Whitebox.invokeMethod(f, "exeuteAllTransaction",transactionMap, ctx); + + } + @Test + public void testexeutepreProcessor() throws Exception + { + Map<Integer, Transaction> transactionMap = new HashMap<Integer,Transaction>(); + Transaction transaction = new Transaction(); + Whitebox.invokeMethod(f, "preProcessor",transactionMap, transaction); + + } + @Test(expected=Exception.class) + public void testcollectInputParams() throws Exception + { + SvcLogicContext ctx = new SvcLogicContext(); + + Transaction transaction = new Transaction(); + Whitebox.invokeMethod(f, "collectInputParams",ctx, transaction); + + } + @Ignore("Test is taking 60 seconds") + @Test(expected=Exception.class) + public void testgetDependencyInfo() throws Exception + { + SvcLogicContext ctx = new SvcLogicContext(); + Whitebox.invokeMethod(f, "getDependencyInfo",ctx); + + } + public void testgetCapabilitesDatass() throws Exception + { + SvcLogicContext ctx = new SvcLogicContext(); + Whitebox.invokeMethod(f, "getDependencyInfo",ctx); + + } + + +} |