diff options
Diffstat (limited to 'appc-outbound/appc-network-inventory-client/provider')
7 files changed, 190 insertions, 176 deletions
diff --git a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/aai/interfaceImpl/AaiInterfaceRulesHandler.java b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/aai/interfaceImpl/AaiInterfaceRulesHandler.java index 37a40f7c4..f82404303 100644 --- a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/aai/interfaceImpl/AaiInterfaceRulesHandler.java +++ b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/aai/interfaceImpl/AaiInterfaceRulesHandler.java @@ -33,7 +33,7 @@ import org.onap.appc.aai.data.AaiVmInfo; import org.onap.appc.aai.data.AaiVnfInfo; import org.onap.appc.aai.data.AaiVnfcInfo; import org.onap.appc.aai.utils.AaiClientConstant; -import org.onap.appc.instar.interfaces.RuleHandlerInterface; +import org.onap.appc.system.interfaces.RuleHandlerInterface; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.sdnc.config.params.data.Parameter; import org.onap.sdnc.config.params.data.ResponseKey; diff --git a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/InstarClientActivator.java b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/InstarClientActivator.java index a703f816b..137ef9ee5 100644 --- a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/InstarClientActivator.java +++ b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/InstarClientActivator.java @@ -9,15 +9,15 @@ * 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========================================================= */ @@ -27,7 +27,8 @@ import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; import java.util.LinkedList; import java.util.List; -import org.onap.appc.instar.node.InstarClientNode; + +import org.onap.appc.system.node.SourceSystemNode; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; @@ -40,10 +41,10 @@ public class InstarClientActivator implements BundleActivator { @Override public void start(BundleContext ctx) throws Exception { - InstarClientNode instarClientNode = new InstarClientNode(); - log.info("Registering service " + instarClientNode.getClass().getName()); - registrations.add(ctx.registerService(instarClientNode.getClass().getName(), instarClientNode, null)); - log.info("Registering service sccessful for " + instarClientNode.getClass().getName()); + SourceSystemNode sourceSystemNode = new SourceSystemNode(); + log.info("Registering service " + sourceSystemNode.getClass().getName()); + registrations.add(ctx.registerService(sourceSystemNode.getClass().getName(), sourceSystemNode, null)); + log.info("Registering service sccessful for " + sourceSystemNode.getClass().getName()); } @Override diff --git a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/interfaceImpl/InterfaceIpAddressImpl.java b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/interfaceImpl/InterfaceIpAddressImpl.java index f5f4924d6..88ab4c137 100644 --- a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/interfaceImpl/InterfaceIpAddressImpl.java +++ b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/interfaceImpl/InterfaceIpAddressImpl.java @@ -9,15 +9,15 @@ * 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========================================================= */ @@ -31,7 +31,7 @@ import java.util.List; import java.util.Map; import org.onap.appc.instar.interfaces.ResponseHandlerInterface; import org.onap.appc.instar.interfaces.RestClientInterface; -import org.onap.appc.instar.interfaces.RuleHandlerInterface; +import org.onap.appc.system.interfaces.RuleHandlerInterface; import org.onap.appc.instar.utils.InstarClientConstant; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.sdnc.config.params.data.Parameter; diff --git a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/interfaces/RuleHandlerInterface.java b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/system/interfaces/RuleHandlerInterface.java index f86d25272..2f4580701 100644 --- a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/interfaces/RuleHandlerInterface.java +++ b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/system/interfaces/RuleHandlerInterface.java @@ -9,21 +9,22 @@ * 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.instar.interfaces; +package org.onap.appc.system.interfaces; import java.io.IOException; + import org.onap.appc.instar.interfaceImpl.InstarResponseException; @FunctionalInterface diff --git a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/node/InstarClientNode.java b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/system/node/SourceSystemNode.java index 4087e2ad2..32a65df59 100644 --- a/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/node/InstarClientNode.java +++ b/appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/system/node/SourceSystemNode.java @@ -4,26 +4,28 @@ * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ - * Copyright (C) 2017 Amdocs + * Copyright (C) 2017 Amdocs * ================================================================================ * Modifications Copyright (C) 2018 Ericsson - * ============================================================================= + * ================================================================================ + * * 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.instar.node; + +package org.onap.appc.system.node; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; @@ -37,16 +39,16 @@ import org.onap.appc.aai.utils.AaiClientConstant; import org.onap.appc.instar.interfaceImpl.InstarRestClientImpl; import org.onap.appc.instar.interfaceImpl.InterfaceIpAddressImpl; import org.onap.appc.instar.interfaces.RestClientInterface; -import org.onap.appc.instar.interfaces.RuleHandlerInterface; +import org.onap.appc.system.interfaces.RuleHandlerInterface; import org.onap.appc.instar.utils.InstarClientConstant; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; import org.onap.sdnc.config.params.data.Parameter; -public class InstarClientNode implements SvcLogicJavaPlugin { +public class SourceSystemNode implements SvcLogicJavaPlugin { - private static final EELFLogger log = EELFManager.getInstance().getLogger(InstarClientNode.class); + private static final EELFLogger log = EELFManager.getInstance().getLogger(SourceSystemNode.class); public void getInstarInfo(Map<String, String> inParams, SvcLogicContext ctx) @@ -67,7 +69,7 @@ public class InstarClientNode implements SvcLogicJavaPlugin { RuleHandlerInterface handler; log.info("Processing rule Type : " + params.getRuleType()); if (params.getRuleType().equals(InstarClientConstant.INTERFACE_IP_ADDRESS)) { - handler = createHandler(params, ctx); + handler = createHandler(params, ctx); } else { throw new SvcLogicException("No Rule Defined to process :" + params.getRuleType()); } @@ -92,10 +94,12 @@ public class InstarClientNode implements SvcLogicJavaPlugin { private static String[] getKeys(String keyString) { log.error("Received Key String as :" + keyString); + String key = keyString .replace("[", "") .replace("]", "") .replace("\"", ""); + if (key.contains(",")) { return key.split(","); } else { @@ -112,10 +116,12 @@ public class InstarClientNode implements SvcLogicJavaPlugin { input.putAll(inParams); RestClientInterface rcINterface = createRestClientInterface(input); String response = rcINterface.sendRequest(inParams.get("operationName")); + responsePrefix = StringUtils.isNotBlank(responsePrefix) ? responsePrefix + "." : ""; ctx.setAttribute(responsePrefix + InstarClientConstant.OUTPUT_PARAM_STATUS, InstarClientConstant.OUTPUT_STATUS_SUCCESS); ctx.setAttribute(responsePrefix + InstarClientConstant.INSTAR_KEY_VALUES, response); + } catch (Exception e) { ctx.setAttribute(responsePrefix + InstarClientConstant.OUTPUT_PARAM_STATUS, InstarClientConstant.OUTPUT_STATUS_FAILURE); @@ -157,6 +163,7 @@ public class InstarClientNode implements SvcLogicJavaPlugin { } } + protected RuleHandlerInterface createHandler(Parameter params, SvcLogicContext ctx) { return new InterfaceIpAddressImpl(params, ctx); } @@ -164,4 +171,5 @@ public class InstarClientNode implements SvcLogicJavaPlugin { protected RestClientInterface createRestClientInterface(Map<String, String> input) { return new InstarRestClientImpl(input); } + } diff --git a/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestInstarClientNode.java b/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestInstarClientNode.java deleted file mode 100644 index ce3dd76dc..000000000 --- a/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestInstarClientNode.java +++ /dev/null @@ -1,149 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ================================================================================ - * Modifications Copyrigh (C) 2018 Ericsson - * ============================================================================= - * 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.instar.node; - -import java.util.HashMap; -import java.util.Map; -import org.jline.utils.Log; -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.powermock.api.mockito.PowerMockito; -import org.mockito.Mockito; -import org.onap.appc.aai.utils.AaiClientConstant; -import org.onap.appc.instar.interfaceImpl.InstarRestClientImpl; -import org.onap.appc.instar.interfaceImpl.InterfaceIpAddressImpl; -import org.onap.appc.instar.interfaces.RuleHandlerInterface; -import org.onap.appc.instar.utils.InstarClientConstant; -import org.onap.ccsdk.sli.core.sli.SvcLogicContext; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; - - -public class TestInstarClientNode { - - //ONAP Migration - - @Rule - public ExpectedException expectedEx = ExpectedException.none(); - - @Test - public void testInstarClientNode() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - String key_content = "{\"name\":\"LOCAL_ACCESS_IP_ADDR\",\"description\":\"this is the node0 tacplus server IP address\",\"type\":" - + "\"ipv4_address\",\"required\":true,\"source\":\"INSTAR\",\"rule-type\":\"interface-ip-address\",\"default\":null,\"request-keys\":" - + "null,\"response-keys\":[{\"unique-key-name\":\"addressfqdn\",\"unique-key-value\":\"00000000000000\",\"field-key-name\":\"ipaddress-v4\"}]}"; - Map<String, String> inParams = new HashMap<String, String>(); - inParams.put(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); - inParams.put(InstarClientConstant.INSTAR_KEYS, "LOCAL_ACCESS_IP_ADDR"); - inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); - ctx.setAttribute("INSTAR.LOCAL_ACCESS_IP_ADDR", key_content); - ctx.setAttribute(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); - ctx.setAttribute(InstarClientConstant.VNF_NAME, "basx0003v"); - InstarClientNode icn = PowerMockito.spy(new InstarClientNode()); - RuleHandlerInterface mockRuleHandler = Mockito.mock(InterfaceIpAddressImpl.class); - Mockito.doReturn(mockRuleHandler).when(icn).createHandler(Mockito.any(), Mockito.any()); - Mockito.doNothing().when(mockRuleHandler).processRule(); - icn.getInstarInfo(inParams, ctx); - Log.info(ctx.getStatus()); - Assert.assertEquals(InstarClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute("" + InstarClientConstant.OUTPUT_PARAM_STATUS)); - } - - @Test - public void testInstarClientNodeFailure() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - String key_content = "{\"name\":\"LOCAL_ACCESS_IP_ADDR\",\"description\":\"this is the node0 tacplus server IP address\",\"type\":" - + "\"ipv4_address\",\"required\":true,\"source\":\"INSTAR\",\"rule-type\":\"NON_INTERFACE_IP_ADDRESS\",\"default\":null,\"request-keys\":" - + "null,\"response-keys\":[{\"unique-key-name\":\"addressfqdn\",\"unique-key-value\":\"00000000000000\",\"field-key-name\":\"ipaddress-v4\"}]}"; - Log.info(key_content); - Map<String, String> inParams = new HashMap<String, String>(); - inParams.put(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, "TEST"); - inParams.put(InstarClientConstant.INSTAR_KEYS, "LOCAL_ACCESS_IP_ADDR"); - inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); - ctx.setAttribute("INSTAR.LOCAL_ACCESS_IP_ADDR", key_content); - ctx.setAttribute(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, "TEST"); - ctx.setAttribute(InstarClientConstant.VNF_NAME, "basx0003v"); - InstarClientNode icn = new InstarClientNode(); - expectedEx.expect(SvcLogicException.class); - expectedEx.expectMessage("No Rule Defined to process :"); - icn.getInstarInfo(inParams, ctx); - } - - @Test - public void testInstarData() throws Exception { - InstarClientNode icn = Mockito.spy(new InstarClientNode()); - SvcLogicContext ctx = new SvcLogicContext (); - Map<String, String> inParams = new HashMap<String, String>(); - InstarRestClientImpl mockRestClient = Mockito.mock(InstarRestClientImpl.class); - Mockito.doReturn(mockRestClient).when(icn).createRestClientInterface(Mockito.any()); - Mockito.doReturn("Test-data").when(mockRestClient).sendRequest(Mockito.anyString()); - inParams.put(InstarClientConstant.VNF_NAME, "basx0003v"); - inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); - icn.getInstarData(inParams, ctx); - Assert.assertEquals(InstarClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute("" + InstarClientConstant.OUTPUT_PARAM_STATUS)); - Assert.assertEquals("Test-data", ctx.getAttribute(InstarClientConstant.INSTAR_KEY_VALUES)); - } - - @Test - public void testInstarDataFailure() throws Exception { - InstarClientNode icn = new InstarClientNode(); - SvcLogicContext ctx = new SvcLogicContext (); - Map<String, String> inParams = new HashMap<String, String>(); - inParams.put(InstarClientConstant.VNF_NAME, "basx0003v"); - inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); - expectedEx.expect(SvcLogicException.class); - expectedEx.expectMessage("Cannot find Property file -SDNC_CONFIG_DIR"); - icn.getInstarData(inParams, ctx); - } - - @Test - public void TestGetAaiInfo() throws Exception { - InstarClientNode aaiNode=new InstarClientNode(); - Map<String, String> inParams=new HashMap<String, String> (); - SvcLogicContext ctx=new SvcLogicContext(); - String keyVals = new String("[\"vnf_name\"]"); - inParams.put("aaiKeys",keyVals); - inParams.put("responsePrefix","test"); - String parameterString="{\"name\":\"vnf_name\",\"description\":null,\"type\":null,\"required\":false,\"source\":\"A&AI\"," - + "\"rule-type\":\"vnf-name\",\"default\":null,\"request-keys\":null,\"response-keys\":[{\"unique-key-name\":\"parent-name\"," - + "\"unique-key-value\":\"vnf\",\"field-key-name\":\"vnf-name\",\"filter-by-field\":null,\"filter-by-value\":null}]}"; - ctx.setAttribute(AaiClientConstant.SOURCE_SYSTEM_AAI + "." + "vnf_name",parameterString); - aaiNode.getAaiInfo(inParams, ctx); - Assert.assertEquals(InstarClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute("test." + InstarClientConstant.OUTPUT_PARAM_STATUS)); - } - - @Test - public void TestGetAaiInfoFailure() throws Exception { - InstarClientNode aaiNode=new InstarClientNode(); - Map<String, String> inParams= Mockito.spy(new HashMap<String, String> ()); - inParams.put(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); - Mockito.doThrow(new RuntimeException("Test-exception")).when(inParams).get(AaiClientConstant.AAI_KEYS); - SvcLogicContext ctx=new SvcLogicContext(); - expectedEx.expect(SvcLogicException.class); - expectedEx.expectMessage("Test-exception"); - aaiNode.getAaiInfo(inParams, ctx); - } -} diff --git a/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/system/node/SourceSystemNodeTest.java b/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/system/node/SourceSystemNodeTest.java new file mode 100644 index 000000000..37be9fe99 --- /dev/null +++ b/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/system/node/SourceSystemNodeTest.java @@ -0,0 +1,153 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ================================================================================ + * Modifications Copyright (C) 2018 Ericsson + * ============================================================================= + * 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.system.node; + + +import java.util.HashMap; +import java.util.Map; +import org.jline.utils.Log; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.powermock.api.mockito.PowerMockito; +import org.mockito.Mockito; +import org.onap.appc.aai.utils.AaiClientConstant; +import org.onap.appc.instar.interfaceImpl.InstarRestClientImpl; +import org.onap.appc.instar.interfaceImpl.InterfaceIpAddressImpl; +import org.onap.appc.system.interfaces.RuleHandlerInterface; +import org.onap.appc.instar.utils.InstarClientConstant; +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; + + +public class SourceSystemNodeTest { + + + //ONAP Migration + + @Rule + public ExpectedException expectedEx = ExpectedException.none(); + + @Test + public void testSourceSystemNode() throws Exception { + SvcLogicContext ctx = new SvcLogicContext(); + String key_content = "{\"name\":\"LOCAL_ACCESS_IP_ADDR\",\"description\":\"this is the node0 tacplus server IP address\",\"type\":" + + "\"ipv4_address\",\"required\":true,\"source\":\"INSTAR\",\"rule-type\":\"interface-ip-address\",\"default\":null,\"request-keys\":" + + "null,\"response-keys\":[{\"unique-key-name\":\"addressfqdn\",\"unique-key-value\":\"00000000000000\",\"field-key-name\":\"ipaddress-v4\"}]}"; + Map<String, String> inParams = new HashMap<String, String>(); + inParams.put(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); + inParams.put(InstarClientConstant.INSTAR_KEYS, "LOCAL_ACCESS_IP_ADDR"); + inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); + ctx.setAttribute("INSTAR.LOCAL_ACCESS_IP_ADDR", key_content); + ctx.setAttribute(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); + ctx.setAttribute(InstarClientConstant.VNF_NAME, "basx0003v"); + SourceSystemNode icn = PowerMockito.spy(new SourceSystemNode()); + RuleHandlerInterface mockRuleHandler = Mockito.mock(InterfaceIpAddressImpl.class); + Mockito.doReturn(mockRuleHandler).when(icn).createHandler(Mockito.any(), Mockito.any()); + Mockito.doNothing().when(mockRuleHandler).processRule(); + icn.getInstarInfo(inParams, ctx); + Log.info(ctx.getStatus()); + Assert.assertEquals(InstarClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute("" + InstarClientConstant.OUTPUT_PARAM_STATUS)); + } + + @Test + public void testSourceSystemNodeFailure() throws Exception { + SvcLogicContext ctx = new SvcLogicContext(); + String key_content = "{\"name\":\"LOCAL_ACCESS_IP_ADDR\",\"description\":\"this is the node0 tacplus server IP address\",\"type\":" + + "\"ipv4_address\",\"required\":true,\"source\":\"INSTAR\",\"rule-type\":\"NON_INTERFACE_IP_ADDRESS\",\"default\":null,\"request-keys\":" + + "null,\"response-keys\":[{\"unique-key-name\":\"addressfqdn\",\"unique-key-value\":\"00000000000000\",\"field-key-name\":\"ipaddress-v4\"}]}"; + Log.info(key_content); + Map<String, String> inParams = new HashMap<String, String>(); + inParams.put(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, "TEST"); + inParams.put(InstarClientConstant.INSTAR_KEYS, "LOCAL_ACCESS_IP_ADDR"); + inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); + ctx.setAttribute("INSTAR.LOCAL_ACCESS_IP_ADDR", key_content); + ctx.setAttribute(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, "TEST"); + ctx.setAttribute(InstarClientConstant.VNF_NAME, "basx0003v"); + SourceSystemNode icn = new SourceSystemNode(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("No Rule Defined to process :"); + icn.getInstarInfo(inParams, ctx); + } + + @Test + public void testInstarData() throws Exception { + SourceSystemNode icn = Mockito.spy(new SourceSystemNode()); + SvcLogicContext ctx = new SvcLogicContext (); + Map<String, String> inParams = new HashMap<String, String>(); + InstarRestClientImpl mockRestClient = Mockito.mock(InstarRestClientImpl.class); + Mockito.doReturn(mockRestClient).when(icn).createRestClientInterface(Mockito.any()); + Mockito.doReturn("Test-data").when(mockRestClient).sendRequest(Mockito.anyString()); + inParams.put(InstarClientConstant.VNF_NAME, "basx0003v"); + inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); + icn.getInstarData(inParams, ctx); + Assert.assertEquals(InstarClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute("" + InstarClientConstant.OUTPUT_PARAM_STATUS)); + Assert.assertEquals("Test-data", ctx.getAttribute(InstarClientConstant.INSTAR_KEY_VALUES)); + } + + @Test + public void testInstarDataFailure() throws Exception { + SourceSystemNode icn = new SourceSystemNode(); + SvcLogicContext ctx = new SvcLogicContext (); + Map<String, String> inParams = new HashMap<String, String>(); + inParams.put(InstarClientConstant.VNF_NAME, "basx0003v"); + inParams.put("operationName", InstarClientConstant.OPERATION_GET_IPADDRESS_BY_VNF_NAME); + expectedEx.expect(SvcLogicException.class); + //expectedEx.expectMessage("Cannot find Property file -SDNC_CONFIG_DIR"); + icn.getInstarData(inParams, ctx); + } + + @Test + public void TestGetAaiInfo() throws Exception { + SourceSystemNode aaiNode=new SourceSystemNode(); + Map<String, String> inParams=new HashMap<String, String> (); + SvcLogicContext ctx=new SvcLogicContext(); + String keyVals = new String("[\"vnf_name\"]"); + inParams.put("aaiKeys",keyVals); + inParams.put("responsePrefix","test"); + String parameterString="{\"name\":\"vnf_name\",\"description\":null,\"type\":null,\"required\":false,\"source\":\"A&AI\"," + + "\"rule-type\":\"vnf-name\",\"default\":null,\"request-keys\":null,\"response-keys\":[{\"unique-key-name\":\"parent-name\"," + + "\"unique-key-value\":\"vnf\",\"field-key-name\":\"vnf-name\",\"filter-by-field\":null,\"filter-by-value\":null}]}"; + ctx.setAttribute(AaiClientConstant.SOURCE_SYSTEM_AAI + "." + "vnf_name",parameterString); + aaiNode.getAaiInfo(inParams, ctx); + Assert.assertEquals(InstarClientConstant.OUTPUT_STATUS_SUCCESS, ctx.getAttribute("test." + InstarClientConstant.OUTPUT_PARAM_STATUS)); + } + + @Test + public void TestGetAaiInfoFailure() throws Exception { + SourceSystemNode aaiNode=new SourceSystemNode(); + Map<String, String> inParams= Mockito.spy(new HashMap<String, String> ()); + inParams.put(InstarClientConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); + Mockito.doThrow(new RuntimeException("Test-exception")).when(inParams).get(AaiClientConstant.AAI_KEYS); + SvcLogicContext ctx=new SvcLogicContext(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("Test-exception"); + aaiNode.getAaiInfo(inParams, ctx); + } + +} + |