From 796ca12ab0fba32db8b4a0dff4cc4e972652c35d Mon Sep 17 00:00:00 2001 From: Lathishbabu Ganesan Date: Thu, 14 Feb 2019 10:41:34 -0500 Subject: [PATCH] Added test case for DgResolver Plugin Increased the coverage from 0% to 94% Issue-ID: APPC-1421 Change-Id: Ide813344cc2a00444bfd97fdeb9cbbe5a15eef08 Signed-off-by: Lathishbabu Ganesan --- .../dg/common/impl/TestDgResolverPluginImpl.java | 100 +++++++++++++++++++++ .../appc-workflow-management-core/.gitignore | 1 + 2 files changed, 101 insertions(+) create mode 100644 appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/onap/appc/dg/common/impl/TestDgResolverPluginImpl.java diff --git a/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/onap/appc/dg/common/impl/TestDgResolverPluginImpl.java b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/onap/appc/dg/common/impl/TestDgResolverPluginImpl.java new file mode 100644 index 000000000..4f0779067 --- /dev/null +++ b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/onap/appc/dg/common/impl/TestDgResolverPluginImpl.java @@ -0,0 +1,100 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Ericsson. All rights reserved. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.dg.common.impl; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Matchers.anyString; +import java.util.HashMap; +import java.util.Map; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.onap.appc.exceptions.APPCException; +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +@RunWith(PowerMockRunner.class) +@PrepareForTest(ResolverFactory.class) +public class TestDgResolverPluginImpl { + + private DgResolverPluginImpl dgResolverPluginImpl; + private Map params; + private SvcLogicContext ctx; + private AbstractResolver abstractResolver; + private FlowKey flowKey; + + @Before + public void setUp() { + params = new HashMap<>(); + ctx = new SvcLogicContext(); + PowerMockito.mockStatic(ResolverFactory.class); + flowKey = Mockito.mock(FlowKey.class); + abstractResolver = Mockito.mock(AbstractResolver.class); + PowerMockito.when(ResolverFactory.createResolver(anyString())).thenReturn(abstractResolver); + dgResolverPluginImpl = new DgResolverPluginImpl(); + PowerMockito.when(flowKey.name()).thenReturn("flowName"); + } + + @Test + public void testResolveDgVNF() throws APPCException { + params.put("action", "healthcheck"); + params.put("vnfVersion", "1"); + params.put("api-ver", "1.0"); + params.put("DGResolutionType", "VNF"); + params.put("vnfType", "vnfType"); + PowerMockito.when(abstractResolver.resolve("healthcheck", "vnfType", "1", "1.0")) + .thenReturn(flowKey); + dgResolverPluginImpl.resolveDg(params, ctx); + assertEquals("flowName", ctx.getAttribute("dg_name")); + } + + @Test + public void testResolveDgVNFC() throws APPCException { + params.put("action", "healthcheck"); + params.put("vnfcType", "vnfcType"); + params.put("api-ver", "1.0"); + params.put("DGResolutionType", "VNFC"); + params.put("vnfType", "vnfType"); + PowerMockito.when(abstractResolver.resolve("healthcheck", "vnfType", "vnfcType", "1.0")) + .thenReturn(flowKey); + dgResolverPluginImpl.resolveDg(params, ctx); + assertEquals("flowName", ctx.getAttribute("dg_name")); + } + + @Test(expected = DgResolverException.class) + public void testResolveDgWithException() throws APPCException { + params.put("action", "healthcheck"); + params.put("vnfcType", "vnfcType"); + params.put("api-ver", "1.0"); + params.put("DGResolutionType", "VNFC"); + params.put("vnfType", "vnfType1"); + PowerMockito.when(abstractResolver.resolve("healthcheck", "vnfType", "vnfcType", "1.0")) + .thenReturn(flowKey); + dgResolverPluginImpl.resolveDg(params, ctx); + } + + @Test(expected = DgResolverException.class) + public void testResolveDgResolverNull() throws APPCException { + PowerMockito.when(ResolverFactory.createResolver(anyString())).thenReturn(null); + dgResolverPluginImpl.resolveDg(params, ctx); + } +} diff --git a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/.gitignore b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/.gitignore index 8d5c481a8..17a1bea63 100644 --- a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/.gitignore +++ b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/.gitignore @@ -22,3 +22,4 @@ /target/ /target-ide/ /.settings/ +/bin/ -- 2.16.6