From 09da4f91bcfe2e9fb3eab992f2ead8c424a1cfad Mon Sep 17 00:00:00 2001 From: Joss Armstrong Date: Wed, 30 Jan 2019 13:51:13 +0000 Subject: Test coverage in aai-client-provider Increase coverage to 91% Issue-ID: APPC-1373 Change-Id: I5de0f532a50bbcd1bf5c305d758a6d1fd95fa3c1 Signed-off-by: Joss Armstrong --- .../onap/appc/aai/client/aai/TestAaiService.java | 142 +++++++++++--- .../appc/aai/client/node/TestAAIResourceNode.java | 209 ++++++++++++++------- 2 files changed, 257 insertions(+), 94 deletions(-) (limited to 'appc-outbound/appc-aai-client/provider/src/test') diff --git a/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/aai/TestAaiService.java b/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/aai/TestAaiService.java index 671c355be..9087a7fe7 100644 --- a/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/aai/TestAaiService.java +++ b/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/aai/TestAaiService.java @@ -7,6 +7,8 @@ * Copyright (C) 2017 Amdocs * ============================================================================= * Modification Copyright (C) 2018 IBM. + * ================================================================================ + * Modifications Copyright (C) 2019 Ericsson * ============================================================================= * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,20 +31,134 @@ import static org.junit.Assert.assertEquals; import java.util.HashMap; import java.util.Map; - -import org.apache.commons.lang3.StringUtils; +import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.mockito.Matchers; +import org.mockito.Mockito; 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; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; import org.onap.ccsdk.sli.adaptors.aai.AAIClient; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; +@RunWith(PowerMockRunner.class) +@PrepareForTest({FrameworkUtil.class}) public class TestAaiService { // ONAP merging private static final EELFLogger log = EELFManager.getInstance().getLogger(TestAaiService.class); - private AAIClient aaiClient; + private AAIClient aaiClient = Mockito.mock(AAIClient.class); + private final BundleContext bundleContext= Mockito.mock(BundleContext.class); + private final Bundle bundleService=Mockito.mock(Bundle.class); + private final ServiceReference sref=Mockito.mock(ServiceReference.class); + + @Rule + public ExpectedException expectedEx = ExpectedException.none(); + + @Before + public void setup() { + PowerMockito.mockStatic(FrameworkUtil.class); + PowerMockito.when(FrameworkUtil.getBundle(Matchers.any(Class.class))).thenReturn(bundleService); + PowerMockito.when(bundleService.getBundleContext()).thenReturn(bundleContext); + PowerMockito.when(bundleContext.getServiceReference(Matchers.any(Class.class))).thenReturn(sref); + PowerMockito.when(bundleContext.getService(sref)).thenReturn(aaiClient); + } + + @Test + public void testMissingVnfId() throws AaiServiceInternalException, SvcLogicException { + AaiService aaiService = new AaiService(); + expectedEx.expect(AaiServiceInternalException.class); + expectedEx.expectMessage("VnfId is missing"); + aaiService.getGenericVnfInfo(new HashMap(), new SvcLogicContext()); + } + + @Test + public void testGetVmInfoExceptionFlow() throws SvcLogicException, AaiServiceInternalException { + AaiService aaiService = Mockito.spy(new AaiService()); + Map inParams = new HashMap(); + inParams.put("vserverId", "vserverId1"); + inParams.put("tenantId", "tenantId1"); + inParams.put("cloudOwner", "cloudOwner1"); + inParams.put("cloudRegionId", "cloudRegionId1"); + inParams.put("responsePrefix", "tmp.vnfInfo"); + + SvcLogicContext ctx = new SvcLogicContext(); + Mockito.doThrow(new SvcLogicException()).when(aaiService).readResource(Mockito.anyString(), Mockito.anyString(), Mockito.anyString()); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("Failed to fetch VM info"); + aaiService.getVMInfo(inParams, ctx); + } + + @Test + public void testGetVnfcInfoExceptionFlow() throws Exception { + AaiService aaiService = new AaiService(); + Map inParams = new HashMap(); + inParams.put("vnfcName", ""); + inParams.put("responsePrefix", "tmp.vnfInfo"); + SvcLogicContext ctx = new SvcLogicContext(); + expectedEx.expect(AaiServiceInternalException.class); + expectedEx.expectMessage("Vnfc Name is missing"); + aaiService.getVnfcInfo(inParams, ctx); + } + + @Test + public void testInsertVnfcsExceptionFlow() throws Exception { + AaiService aaiService = new AaiService(); + Map inParams = new HashMap(); + inParams.put("responsePrefix", "tmp.vnfInfo"); + SvcLogicContext ctx = new SvcLogicContext(); + inParams.put("AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX", "prefix."); + ctx.setAttribute("tmp.vnfInfo.vm[1].vnfc-name", "nullnull001"); + aaiService.insertVnfcs(inParams, ctx, 2, 2, null); + } + + @Test + public void testGetVnfcData() { + AaiService aaiService = new AaiService(); + Map inParams = new HashMap(); + inParams.put("responsePrefix", "tmp.vnfInfo"); + SvcLogicContext ctx = new SvcLogicContext(); + inParams.put("AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX", "prefix."); + ctx.setAttribute("tmp.vnfInfo.vm[1].vnfc-name", "nullnull001"); + aaiService.getVnfcData(inParams, ctx, 1, 1); + } + + @Test + public void testReadResource() throws AaiServiceInternalException, SvcLogicException { + AaiService aaiService = Mockito.spy(new AaiService()); + Map inParams = new HashMap(); + inParams.put("responsePrefix", "tmp.vnfInfo"); + inParams.put("AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX", "prefix."); + Mockito.doReturn(QueryStatus.FAILURE).when(aaiClient).query(Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyString(), + Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(SvcLogicContext.class)); + expectedEx.expect(AaiServiceInternalException.class); + expectedEx.expectMessage("Error Retrieving null from A&AI"); + aaiService.readResource(null, null, null); + } + + @Test + public void testCheckAndUpdateVnfc() throws AaiServiceInternalException, SvcLogicException { + AaiService aaiService = Mockito.spy(new AaiService()); + Map inParams = new HashMap(); + inParams.put("responsePrefix", "tmp.vnfInfo"); + SvcLogicContext ctx = new SvcLogicContext(); + inParams.put("AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX", "prefix."); + ctx.setAttribute("tmp.vnfInfo.vm[0].vnfc-name", "nullnull001"); + aaiService.checkAndUpdateVnfc(inParams, ctx, 1, 1); + Mockito.verify(aaiService).updateVnfcStatus(Mockito.anyString(), Mockito.anyMap(), Mockito.anyString()); + } @Test public void testGetGenericVnfInfo() throws Exception { @@ -255,6 +371,7 @@ public class TestAaiService { } + @Test public void testInsertVnfcsForRelativeValueSame() throws Exception { @@ -327,23 +444,6 @@ public class TestAaiService { mockAai.updateVnfStatus(inParams, ctx); } - @Test - public void testReadResource() throws Exception { - - MockAaiService mockAai = new MockAaiService(aaiClient); - // AaiService mockAai = new AaiService(new AAIClientMock()); - - String vnfId = "ibcx0001v"; - String resourceKey = "generic-vnf.vnf-id = '" + vnfId + "'"; - String resourceType = "generic-vnf"; - String queryPrefix = "vnfInfo"; - SvcLogicContext ctx = mockAai.readResource(resourceKey, queryPrefix, resourceType); - - // System.out.println("VNF TYPE " + queryPrefix + ".vnf.vnf-type"); - - assertEquals(ctx.getAttribute("vnfInfo.vnf-type"), "vUSP-Metaswitch"); - - } private void printContext(SvcLogicContext ctx) throws Exception { for (String key : ctx.getAttributeKeySet()) { log.info(" KEY " + key); @@ -399,7 +499,7 @@ public class TestAaiService { assertEquals(ctx.getAttribute("tmp.vnfInfo.cloud-region.identity-url"), "TestUrl"); } - + @Test public void testAddvnfc() { diff --git a/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/node/TestAAIResourceNode.java b/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/node/TestAAIResourceNode.java index b3944b700..cb0758406 100644 --- a/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/node/TestAAIResourceNode.java +++ b/appc-outbound/appc-aai-client/provider/src/test/java/org/onap/appc/aai/client/node/TestAAIResourceNode.java @@ -5,6 +5,8 @@ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs + * ================================================================================ + * Modifications Copyright (C) 2019 Ericsson * ============================================================================= * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,33 +25,26 @@ package org.onap.appc.aai.client.node; -import static org.junit.Assert.*; -import java.io.File; -import java.nio.charset.Charset; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; -import java.util.List; import java.util.Map; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.mockito.Mockito; import org.onap.appc.aai.client.AppcAaiClientConstant; import org.onap.appc.aai.client.aai.AaiService; -import org.onap.appc.aai.client.aai.TestAaiService; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; +import org.onap.ccsdk.sli.adaptors.aai.AAIClient; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; - import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.onap.ccsdk.sli.adaptors.aai.AAIClient; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.databind.ObjectMapper; public class TestAAIResourceNode { @@ -58,27 +53,40 @@ public class TestAAIResourceNode { private static final EELFLogger log = EELFManager.getInstance().getLogger(TestAAIResourceNode.class); - @Test - public void sortVServer() throws Exception{ + @Rule + public ExpectedException expectedEx = ExpectedException.none(); - //log.info("Test"); + @Test + public void testGetVnfInfo() throws Exception { + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("vm[0].cloud-owner", "TEST"); + ctx.setAttribute("vm[0].cloud-region-id", "TEST"); + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + aai.getVnfInfo(inParams, ctx); + Mockito.verify(aaiService).getIdentityUrl(Mockito.anyMap(), Mockito.any(SvcLogicContext.class)); + } + @Test + public void sortVServer() throws Exception{ ArrayList> vservers = new ArrayList>(); - HashMap vserverMap = new HashMap(); + Map vserverMap = new HashMap<>(); vserverMap.put("vserver-id", "vserverId9"); vserverMap.put("tenant-id", "tenantId9"); vserverMap.put("cloud-owner", "cloudOwner9"); vserverMap.put("cloud-region-id", "cloudRegionId9"); vserverMap.put("vserver-name", "vServerName9"); vservers.add(vserverMap); - vserverMap = new HashMap(); + vserverMap = new HashMap<>(); vserverMap.put("vserver-id", "vserverId1"); vserverMap.put("tenant-id", "tenantId1"); vserverMap.put("cloud-owner", "cloudOwner1"); vserverMap.put("cloud-region-id", "cloudRegionId1"); vserverMap.put("vserver-name", "vServerName1"); vservers.add(vserverMap); - vserverMap = new HashMap(); + vserverMap = new HashMap<>(); vserverMap.put("vserver-id", "vserverId3"); vserverMap.put("tenant-id", "tenantId3"); vserverMap.put("cloud-owner", "cloudOwner3"); @@ -104,7 +112,7 @@ public class TestAAIResourceNode { MockAAIResourceNode mrn = new MockAAIResourceNode(); SvcLogicContext ctx = new SvcLogicContext(); populateAllVServerInfo(ctx, "tmp.vnfInfo"); - Map inParams =new HashMap(); + Map inParams = new HashMap<>(); inParams.put("responsePrefix", "tmp.vnfInfo"); mrn.getAllVServersVnfcsInfo(inParams, ctx); assertEquals(ctx.getAttribute("tmp.vnfInfo.vm-count"), "2"); @@ -138,6 +146,18 @@ public class TestAAIResourceNode { assertEquals(ctx.getAttribute("tmp.vnfInfo.vnf.vm-count-for-vf-module"),"1"); } + @Test + public void testAllVServerExceptionFlow() throws Exception{ + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); + SvcLogicContext ctx = new SvcLogicContext(); + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("Unable to get VServers for the VNF"); + aai.getAllVServersVnfcsInfo(inParams, ctx); + } + public void populateAllVServerInfo(SvcLogicContext ctx, String prefix) throws Exception { ctx.setAttribute("vnf-id", "ibcx0001v"); ctx.setAttribute("vnf-host-ip-address", "000.00.00.00"); @@ -150,7 +170,6 @@ public class TestAAIResourceNode { ctx.setAttribute(prefix+ ".vm[1].tenant-id", "tenantid1"); ctx.setAttribute(prefix+ ".vm[1].cloud-owner", "cloudOwner1"); ctx.setAttribute(prefix+ ".vm[1].cloud-region-id", "cloudRegionId1"); - } public static class MockAAIResourceNode extends AAIResourceNode { @@ -165,10 +184,9 @@ public class TestAAIResourceNode { @Test public void testPopulateContext() throws Exception{ - ArrayList> vservers = new ArrayList>(); - HashMap vserverMap = new HashMap(); - vserverMap = new HashMap(); + Map vserverMap = new HashMap<>(); + vserverMap = new HashMap<>(); vserverMap.put("vserver-id", "vserverId1"); vserverMap.put("tenant-id", "tenantId1"); vserverMap.put("cloud-owner", "cloudOwner1"); @@ -176,14 +194,14 @@ public class TestAAIResourceNode { vserverMap.put("vserver-name", "vServerName1"); vserverMap.put("vnfc-name", "vnfcName1"); vservers.add(vserverMap); - vserverMap = new HashMap(); + vserverMap = new HashMap<>(); vserverMap.put("vserver-id", "vserverId3"); vserverMap.put("tenant-id", "tenantId3"); vserverMap.put("cloud-owner", "cloudOwner3"); vserverMap.put("cloud-region-id", "cloudRegionId3"); vserverMap.put("vserver-name", "vServerName3"); vservers.add(vserverMap); - vserverMap = new HashMap(); + vserverMap = new HashMap<>(); vserverMap.put("vserver-id", "vserverId9"); vserverMap.put("tenant-id", "tenantId9"); vserverMap.put("cloud-owner", "cloudOwner9"); @@ -202,84 +220,107 @@ public class TestAAIResourceNode { } @Test - public final void testGetVnfInfo() { + public final void testGetVnfInfoExceptionFlow() throws Exception { SvcLogicContext ctx = new SvcLogicContext(); - AAIResourceNode aai = new AAIResourceNode(); -Map inParams =new HashMap(); - inParams.put("responsePrefix", "tmp.vnfInfo"); - try { - aai.getVnfInfo(inParams, ctx); - } catch (SvcLogicException e) { - e.printStackTrace(); - } + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); + ctx.setAttribute("vm[0].cloud-owner", "TEST"); + ctx.setAttribute("vm[0].cloud-region-id", "TEST"); + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doThrow(new SvcLogicException("TEST")).when(aaiService).getIdentityUrl(Mockito.anyMap(), Mockito.any(SvcLogicContext.class)); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("TEST"); + aai.getVnfInfo(inParams, ctx); + } + @Test + public final void testaddVnfcs() throws SvcLogicException + { + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("vnfcReference_length", "1"); + ctx.setAttribute("vnf.vm-count", "1"); + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + aai.addVnfcs(inParams, ctx); } + @Test - public final void testaddVnfcs() + public final void testaddVnfcsExceptionFlow() throws Exception { SvcLogicContext ctx = new SvcLogicContext(); - AAIResourceNode aai = new AAIResourceNode(); -Map inParams =new HashMap(); + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); inParams.put("responsePrefix", "tmp.vnfInfo"); - try { - aai.addVnfcs(inParams, ctx); - } catch (SvcLogicException e) { - e.printStackTrace(); - } + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doThrow(new SvcLogicException("TEST")).when(aaiService).getIdentityUrl(Mockito.anyMap(), Mockito.any(SvcLogicContext.class)); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + expectedEx.expect(SvcLogicException.class); + aai.addVnfcs(inParams, ctx); + } + @Test + public final void testupdateVnfAndVServerStatus() throws SvcLogicException{ + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("vnf.vm-count", "1"); + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + aai.updateVnfAndVServerStatus(inParams, ctx); + assertEquals(AppcAaiClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute(AppcAaiClientConstant.OUTPUT_PARAM_STATUS)); } + @Test - public final void testupdateVnfAndVServerStatus(){ + public final void testupdateVnfAndVServerStatusExceptionFlow() throws SvcLogicException{ SvcLogicContext ctx = new SvcLogicContext(); AAIResourceNode aai = new AAIResourceNode(); -Map inParams =new HashMap(); - - inParams.put("responsePrefix", "tmp.vnfInfo"); - try { - aai.updateVnfAndVServerStatus(inParams, ctx); - } catch (SvcLogicException e) { - e.printStackTrace(); - } + Map inParams = new HashMap<>(); + expectedEx.expect(SvcLogicException.class); + aai.updateVnfAndVServerStatus(inParams, ctx); } @Test public void testgetVfModduleModelInfo() throws Exception{ SvcLogicContext ctx = new SvcLogicContext(); AAIResourceNode aai = new AAIResourceNode(); - AAIClient aaic=null; - MockAaiService aaiService=new MockAaiService(aaic); - Map inParams =new HashMap(); + AAIClient aaic = null; + MockAaiService aaiService = new MockAaiService(aaic); + Map inParams = new HashMap<>(); inParams.put("responsePrefix", "tmp.vnfInfo"); - aai.processForVfModuleModelInfo(aaiService,inParams, ctx); - assertEquals(ctx.getAttribute("template-model-id"),"model0001"); - + aai.processForVfModuleModelInfo(aaiService, inParams, ctx); + assertEquals(ctx.getAttribute("template-model-id"), "model0001"); } + @Test public final void testSetVmParams() { SvcLogicContext ctx = new SvcLogicContext(); String vServerId = "vserver02"; ctx.setAttribute("tmp.vnfInfo.vm-count","3"); - ctx.setAttribute("tmp.vnfInfo.vm[0].vserver-id","vserver01"); - ctx.setAttribute("tmp.vnfInfo.vm[1].vserver-id","vserver02"); - ctx.setAttribute("tmp.vnfInfo.vm[1].tenant-id","ten01"); - ctx.setAttribute("tmp.vnfInfo.vm[1].cloud-region-id","cr01"); - ctx.setAttribute("tmp.vnfInfo.vm[1].cloud-owner","co01"); + ctx.setAttribute("tmp.vnfInfo.vm[0].vserver-id", "vserver01"); + ctx.setAttribute("tmp.vnfInfo.vm[1].vserver-id", "vserver02"); + ctx.setAttribute("tmp.vnfInfo.vm[1].tenant-id", "ten01"); + ctx.setAttribute("tmp.vnfInfo.vm[1].cloud-region-id", "cr01"); + ctx.setAttribute("tmp.vnfInfo.vm[1].cloud-owner", "co01"); AAIResourceNode aairn= new AAIResourceNode(); - Map params = aairn.setVmParams(ctx, vServerId); + Map params = aairn.setVmParams(ctx, vServerId); assertNotNull(params); } + @Test public final void testGetVnfcInformationForVserver() throws Exception{ MockAAIResourceNode aairn = new MockAAIResourceNode(); SvcLogicContext ctx = new SvcLogicContext(); SvcLogicContext newVnfcCtx = new SvcLogicContext(); - Map inParams = new HashMap(); - Map vnfcParams = new HashMap(); - String responsePrefix="test."; + Map inParams = new HashMap<>(); + Map vnfcParams = new HashMap<>(); + String responsePrefix = "test."; inParams.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, "test"); vnfcParams.put("vnfcName", "vnfcName2"); aairn.getVnfcInformationForVserver(vnfcParams, newVnfcCtx, inParams, ctx, aairn.getAaiService(), responsePrefix); - assertEquals(ctx.getAttribute("test.vm.vnfc.vnfc-name"),"vnfcName2"); + assertEquals(ctx.getAttribute("test.vm.vnfc.vnfc-name"), "vnfcName2"); assertEquals(ctx.getAttribute("test.vm.vnfc.vnfc-type"), "vnfcType2"); assertEquals(ctx.getAttribute("test.vm.vnfc.vnfc-function-code"), "vnfcFuncCode2"); assertEquals(ctx.getAttribute("test.vm.vnfc.vnfc-group-notation"), "vnfcGrpNot2"); @@ -289,12 +330,11 @@ Map inParams =new HashMap(); public final void testGetFormattedValue() throws Exception{ MockAAIResourceNode aairn = new MockAAIResourceNode(); SvcLogicContext ctx = new SvcLogicContext(); - Map inParams = new HashMap(); + Map inParams = new HashMap<>(); inParams.put(AppcAaiClientConstant.INPUT_PARAM_RESPONSE_PREFIX, "test"); inParams.put("inputParameter", "Some/Value/With/ Many Spaces"); aairn.getFormattedValue(inParams, ctx); - assertEquals(ctx.getAttribute("template-model-id"),"Some_Value_With_ManySpaces"); - + assertEquals(ctx.getAttribute("template-model-id"), "Some_Value_With_ManySpaces"); } @Test @@ -307,7 +347,30 @@ Map inParams =new HashMap(); ctx.setAttribute("test.vnf.vm-with-no-vnfcs-count-vf-module", "0"); ctx.setAttribute("test.vnf.vm-count-for-vf-module", "2"); aairn.processCheckForVfModule("vfmoduleId1", ctx, "test.", 2); + } + @Test + public void testGetVserverInfo() throws SvcLogicException { + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("tmp.vnfInfo.vm-count", "1"); + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Map inParams = new HashMap<>(); + AaiService aaiService = Mockito.mock(AaiService.class); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + aai.getVserverInfo(inParams, ctx); + Mockito.verify(aaiService).getVMInfo(Mockito.anyMap(), Mockito.any(SvcLogicContext.class)); + } + @Test + public void testGetVserverInfoExceptionFlow() throws Exception { + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("tmp.vnfInfo.vm-count", "1"); + Map inParams = new HashMap<>(); + AaiService aaiService = Mockito.mock(AaiService.class); + AAIResourceNode aai = Mockito.spy(new AAIResourceNode()); + Mockito.doThrow(new SvcLogicException("TEST")).when(aaiService).getVMInfo(Mockito.anyMap(), Mockito.any(SvcLogicContext.class)); + Mockito.doReturn(aaiService).when(aai).getAaiService(); + aai.getVserverInfo(inParams, ctx); + assertEquals("TEST", ctx.getAttribute(AppcAaiClientConstant.OUTPUT_PARAM_ERROR_MESSAGE)); } } -- cgit 1.2.3-korg