From b5fe8a69e90b950c07dc11af481eab7e9bab52c6 Mon Sep 17 00:00:00 2001 From: "Dunietz, Irwin" Date: Thu, 16 Jan 2020 15:13:14 -0500 Subject: Change code in appc dispatcher for new LCMs in R6 Also introduce some minor improvements to robustness, efficiency, & formatting. Issue-ID: APPC-1789 Signed-off-by: Dunietz, Irwin Change-Id: I82d970c2f7cde6c8dab1222af86ea70ce93b7e50 --- .../dg/netconf/impl/NetconfClientPluginImpl.java | 48 +++++------ .../dg/netconf/impl/NetconfClientFactoryMock.java | 11 +-- .../netconf/impl/NetconfClientPluginImplTest.java | 97 ++++++++++++---------- .../dg/netconf/impl/NetconfDBPluginImplTest.java | 34 ++++---- 4 files changed, 95 insertions(+), 95 deletions(-) (limited to 'appc-dg/appc-dg-shared/appc-dg-netconf/src') diff --git a/appc-dg/appc-dg-shared/appc-dg-netconf/src/main/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImpl.java b/appc-dg/appc-dg-shared/appc-dg-netconf/src/main/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImpl.java index 7b9d5d802..f31383b02 100644 --- a/appc-dg/appc-dg-shared/appc-dg-netconf/src/main/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImpl.java +++ b/appc-dg/appc-dg-shared/appc-dg-netconf/src/main/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImpl.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs * ================================================================================ @@ -11,15 +11,14 @@ * 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========================================================= */ @@ -68,8 +67,8 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { public NetconfClientPluginImpl() { BundleContext bctx = FrameworkUtil.getBundle(this.getClass()).getBundleContext(); - ServiceReference srefNetconfClientFactory = bctx - .getServiceReference(NetconfClientFactory.class); + ServiceReference srefNetconfClientFactory = + bctx.getServiceReference(NetconfClientFactory.class); clientFactory = bctx.getService(srefNetconfClientFactory); } @@ -79,9 +78,9 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { } public void configure(Map params, SvcLogicContext ctx) throws APPCException { - try { - // by default, it uses the jsch Netconf Adapter implementation by calling getNetconfClient(NetconfClientType.SSH). + // by default, it uses the jsch Netconf Adapter implementation by calling + // getNetconfClient(NetconfClientType.SSH). NetconfClient client = clientFactory.getNetconfClient(NetconfClientType.SSH); connect(params, client); } catch (Exception e) { @@ -93,8 +92,8 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { private void connect(Map params, NetconfClient client) throws APPCException { try { - NetconfConnectionDetails connectionDetails = mapper - .readValue(params.get(CONNECTION_DETAILS_PARAM), NetconfConnectionDetails.class); + NetconfConnectionDetails connectionDetails = + mapper.readValue(params.get(CONNECTION_DETAILS_PARAM), NetconfConnectionDetails.class); String netconfMessage = params.get("file-content"); client.connect(connectionDetails); client.configure(netconfMessage); @@ -110,7 +109,7 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { public void operationStateValidation(Map params, SvcLogicContext ctx) throws APPCException { if (logger.isTraceEnabled()) { logger.trace("Entering to operationStateValidation with params = " + ObjectUtils.toString(params) - + ", SvcLogicContext = " + ObjectUtils.toString(ctx)); + + ", SvcLogicContext = " + ObjectUtils.toString(ctx)); } try { String paramName = Constants.VNF_TYPE_FIELD_NAME; @@ -125,15 +124,15 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { //get connectionDetails String connectionDetailsStr = params.get(Constants.CONNECTION_DETAILS_FIELD_NAME); NetconfConnectionDetails connectionDetails = - resolveConnectionDetails(ctx, vnfType, vnfHostIpAddress, connectionDetailsStr); + resolveConnectionDetails(ctx, vnfType, vnfHostIpAddress, connectionDetailsStr); if (connectionDetails == null) { throw new IllegalStateException("missing connectionDetails for VnfType:" + vnfType.name()); } //get operationsStateNetconfMessage - OperationalStateValidator operationalStateValidator = OperationalStateValidatorFactory - .getOperationalStateValidator(vnfType); + OperationalStateValidator operationalStateValidator = + OperationalStateValidatorFactory.getOperationalStateValidator(vnfType); String configurationFileName = operationalStateValidator.getConfigurationFileName(); String operationsStateNetconfMessage = null; if (!StringUtils.isEmpty(configurationFileName)) { @@ -164,8 +163,7 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { } private NetconfConnectionDetails resolveConnectionDetails(SvcLogicContext ctx, VnfType vnfType, - String vnfHostIpAddress, String connectionDetailsStr) throws APPCException, IOException { - + String vnfHostIpAddress, String connectionDetailsStr) throws APPCException, IOException { NetconfConnectionDetails connectionDetails; if (StringUtils.isEmpty(connectionDetailsStr)) { connectionDetails = retrieveConnectionDetails(vnfType); @@ -184,15 +182,14 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { @Override public void backupConfiguration(Map params, SvcLogicContext ctx) throws APPCException { - NetconfClient client = null; try { logger.debug("Entered backup to DEVICE_INTERFACE_LOG"); client = clientFactory.getNetconfClient(NetconfClientType.SSH); //get connection details - NetconfConnectionDetails connectionDetails = mapper - .readValue(params.get(CONNECTION_DETAILS_PARAM), NetconfConnectionDetails.class); + NetconfConnectionDetails connectionDetails = + mapper.readValue(params.get(CONNECTION_DETAILS_PARAM), NetconfConnectionDetails.class); //connect the client and get configuration client.connect(connectionDetails); String configuration = client.getConfiguration(); @@ -225,8 +222,8 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { NetconfClientFactory clientFact = (NetconfClientFactory) bctx.getService(sref); client = clientFact.getNetconfClient(NetconfClientType.SSH); //get connection details - NetconfConnectionDetails connectionDetails = mapper - .readValue(params.get(CONNECTION_DETAILS_PARAM), NetconfConnectionDetails.class); + NetconfConnectionDetails connectionDetails = + mapper.readValue(params.get(CONNECTION_DETAILS_PARAM), NetconfConnectionDetails.class); //connect the client and get configuration client.connect(connectionDetails); String configuration = client.getConfiguration(); @@ -264,7 +261,6 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { } } - @Override public void getRunningConfig(Map params, SvcLogicContext ctx) throws APPCException { NetconfClient client = null; @@ -281,8 +277,9 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { connectionDetails.setUsername(params.get("user-name")); connectionDetails.setPassword(params.get("password")); connectionDetails.setPort( - !("".equalsIgnoreCase(params.get("port-number"))) ? Integer.parseInt(params.get("port-number")) - : NetconfConnectionDetails.DEFAULT_PORT); + !("".equalsIgnoreCase(params.get("port-number"))) + ? Integer.parseInt(params.get("port-number")) + : NetconfConnectionDetails.DEFAULT_PORT); //connect the client and get configuration client.connect(connectionDetails); String configuration = client.getConfiguration(); @@ -307,7 +304,6 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { } private String getCurrentDateTime() { - DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); return dateFormat.format(date); @@ -325,7 +321,7 @@ public class NetconfClientPluginImpl implements NetconfClientPlugin { if (!dao.retrieveNetconfConnectionDetails(vnfType.getFamilyType().name(), connectionDetails)) { logger.error("Missing configuration for " + vnfType.getFamilyType().name()); throw new APPCException("Missing configuration for " + vnfType.getFamilyType().name() + " in " - + Constants.DEVICE_AUTHENTICATION_TABLE_NAME); + + Constants.DEVICE_AUTHENTICATION_TABLE_NAME); } return connectionDetails; } diff --git a/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientFactoryMock.java b/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientFactoryMock.java index da42e8e3d..531f51dbb 100644 --- a/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientFactoryMock.java +++ b/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientFactoryMock.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs * ================================================================================ @@ -11,15 +11,14 @@ * 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========================================================= */ @@ -35,9 +34,7 @@ public class NetconfClientFactoryMock extends NetconfClientFactory { private final NetconfClientJschMock jschClient = new NetconfClientJschMock(); @Override - public NetconfClient getNetconfClient(NetconfClientType type){ + public NetconfClient getNetconfClient(NetconfClientType type) { return jschClient; } } - - diff --git a/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImplTest.java b/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImplTest.java index 9e2384e91..bdbd27684 100644 --- a/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImplTest.java +++ b/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfClientPluginImplTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs * ================================================================================ @@ -11,15 +11,14 @@ * 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========================================================= */ @@ -60,7 +59,6 @@ import java.util.Map; import static org.powermock.api.mockito.PowerMockito.when; - @RunWith(PowerMockRunner.class) @PrepareForTest({OperationalStateValidatorFactory.class, FrameworkUtil.class, ObjectMapper.class}) @@ -84,36 +82,40 @@ public class NetconfClientPluginImplTest { int port = 8080; String username = "test"; String password = "test"; - String connectionDetails = "{\"host\":\"" + host + "\",\"port\":" + port + ",\"username\":\"" + username + "\",\"password\":\"" + password + "\",\"capabilities\":null,\"additionalProperties\":null}"; - String fileContent = "\n" + - "\n" + - "\t\n" + - "\t\t\n" + - "\t\t\t\n" + - "\t\t \n" + - "\t\n" + - "'"; - String operationalState = "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "\n"; + String connectionDetails = + "{\"host\":\"" + host + "\",\"port\":" + port + ",\"username\":\"" + username + + "\",\"password\":\"" + password + "\",\"capabilities\":null,\"additionalProperties\":null}"; + String fileContent = + "\n" + + "\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t \n" + + "\t\n" + + "'"; + String operationalState = + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "\n"; @Before @@ -143,7 +145,7 @@ public class NetconfClientPluginImplTest { Assert.assertEquals("wrong password", password, client.getLastConnectionDetails().getPassword()); Assert.assertFalse(client.isConnection()); } catch (Exception e) { - Assert.fail("failed with because of " + e.getCause()); + Assert.fail("failed because of " + e.getCause()); } } @@ -186,7 +188,8 @@ public class NetconfClientPluginImplTest { validatorMock.setConfigurationFileName("VnfGetRunningConfig"); PowerMockito.mockStatic(OperationalStateValidatorFactory.class); - when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))).thenReturn(validatorMock); + when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))) + .thenReturn(validatorMock); netconfClientPlugin.operationStateValidation(params, ctx); @@ -212,7 +215,8 @@ public class NetconfClientPluginImplTest { validatorMock.setConfigurationFileName("VnfGetRunningConfig"); PowerMockito.mockStatic(OperationalStateValidatorFactory.class); - when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))).thenReturn(validatorMock); + when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))) + .thenReturn(validatorMock); substituteMapper(true); try { @@ -244,7 +248,8 @@ public class NetconfClientPluginImplTest { validatorMock.setConfigurationFileName("VnfGetRunningConfig"); PowerMockito.mockStatic(OperationalStateValidatorFactory.class); - when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))).thenReturn(validatorMock); + when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))) + .thenReturn(validatorMock); ObjectMapper mapper = PowerMockito.mock(ObjectMapper.class); final NetconfConnectionDetails netconfConnectionDetails = null; when(mapper.readValue(Matchers.anyString(), Matchers.any(Class.class))).thenReturn(netconfConnectionDetails); @@ -277,7 +282,8 @@ public class NetconfClientPluginImplTest { validatorMock.setConfigurationFileName("VnfGetRunningConfig"); PowerMockito.mockStatic(OperationalStateValidatorFactory.class); - when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))).thenReturn(validatorMock); + when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))) + .thenReturn(validatorMock); try { netconfClientPlugin.operationStateValidation(params, ctx); @@ -308,7 +314,8 @@ public class NetconfClientPluginImplTest { validatorMock.setConfigurationFileName("VnfGetRunningConfig"); PowerMockito.mockStatic(OperationalStateValidatorFactory.class); - when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))).thenReturn(validatorMock); + when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))) + .thenReturn(validatorMock); netconfClientPlugin.operationStateValidation(params, ctx); @@ -335,7 +342,8 @@ public class NetconfClientPluginImplTest { validatorMock.setConfigurationFileName("VnfGetRunningConfig"); PowerMockito.mockStatic(OperationalStateValidatorFactory.class); - when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))).thenReturn(validatorMock); + when(OperationalStateValidatorFactory.getOperationalStateValidator(Matchers.any(VnfType.class))) + .thenReturn(validatorMock); netconfClientPlugin.operationStateValidation(params, ctx); @@ -554,7 +562,7 @@ public class NetconfClientPluginImplTest { Assert.assertEquals("wrong host", connectionDetails1.getHost(), connectionDetailsActual.getHost()); Assert.assertEquals("wrong password", connectionDetails1.getPassword(), connectionDetailsActual.getPassword()); Assert.assertEquals("wrong port", connectionDetails1.getPort(), connectionDetailsActual.getPort()); - Assert.assertEquals("wrong usename", connectionDetails1.getUsername(), connectionDetailsActual.getUsername()); + Assert.assertEquals("wrong username", connectionDetails1.getUsername(), connectionDetailsActual.getUsername()); } @@ -582,7 +590,8 @@ public class NetconfClientPluginImplTest { DAOServiceMock daoServiceMock = (DAOServiceMock) dao; daoServiceMock.setConfigFile(fileContent); - Assert.assertEquals("wrong config in a database", fileContent, netconfClientPlugin.retrieveConfigurationFileContent("VnfGetRunningConfig")); + Assert.assertEquals("wrong config in a database", + fileContent, netconfClientPlugin.retrieveConfigurationFileContent("VnfGetRunningConfig")); } private ConnectionDetails getConnectionDetails() { diff --git a/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfDBPluginImplTest.java b/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfDBPluginImplTest.java index 95672194d..ece368502 100644 --- a/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfDBPluginImplTest.java +++ b/appc-dg/appc-dg-shared/appc-dg-netconf/src/test/java/org/onap/appc/dg/netconf/impl/NetconfDBPluginImplTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs * ================================================================================ @@ -11,15 +11,14 @@ * 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========================================================= */ @@ -52,15 +51,15 @@ public class NetconfDBPluginImplTest { int port = 8080; String username = "test"; String password = "test"; - String configContent = "\n" + - "\n" + - "\t\n" + - "\t\t\n" + - "\t\t\t\n" + - "\t\t \n" + - "\t\n" + - "'"; - + String configContent = + "\n" + + "\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t \n" + + "\t\n" + + "'"; @Test public void testRetrieveDSConfiguration() throws Exception { @@ -98,7 +97,8 @@ public class NetconfDBPluginImplTest { SvcLogicContext ctx = new SvcLogicContext(); netconfDBPlugin.retrieveVMDSConfiguration(params, ctx); - Assert.assertEquals("lack of success of retrieveVMDSConfiguration_Result", "success", ctx.getAttribute("retrieveVMDSConfiguration_Result")); + Assert.assertEquals("lack of success of retrieveVMDSConfiguration_Result", + "success", ctx.getAttribute("retrieveVMDSConfiguration_Result")); Assert.assertEquals("wrong entity", "VNF", ctx.getAttribute("entity")); assertConnectionDetails(ctx, host); } @@ -118,7 +118,6 @@ public class NetconfDBPluginImplTest { } } - @Test public void testRetrieveVMDSConfigurationNegativeJsonProcessingException() throws Exception { @@ -180,7 +179,6 @@ public class NetconfDBPluginImplTest { } } - @Test public void testRetrieveConnectionDetailsNegativeMissingConfiguration() throws Exception { init(); @@ -204,7 +202,8 @@ public class NetconfDBPluginImplTest { private void assertConnectionDetails(SvcLogicContext ctx, String host) throws IOException { String sConnectionDetails = ctx.getAttribute("connection-details"); - NetconfConnectionDetails connectionDetails = new ObjectMapper().readValue(sConnectionDetails, NetconfConnectionDetails.class); + NetconfConnectionDetails connectionDetails = + new ObjectMapper().readValue(sConnectionDetails, NetconfConnectionDetails.class); Assert.assertEquals(host, connectionDetails.getHost()); Assert.assertEquals(port, connectionDetails.getPort()); Assert.assertEquals(username, connectionDetails.getUsername()); @@ -220,7 +219,6 @@ public class NetconfDBPluginImplTest { daoMock = (DAOServiceMock) daoService; daoMock.setConfigFile(configContent); daoMock.setConnection(getConnectionDetails()); - } private ConnectionDetails getConnectionDetails() { -- cgit 1.2.3-korg