From 1c192d2dd68724e292b6a30f463085a262e1e813 Mon Sep 17 00:00:00 2001 From: Patrick Brady Date: Wed, 15 Feb 2017 23:11:26 -0800 Subject: Moving all files to root directory Change-Id: Ica5535fd6ec85f350fe1640b42137b49f83f10f0 Signed-off-by: Patrick Brady --- .../dg/common/impl/DCAEReporterPluginImplTest.java | 154 +++++++++++++++++++++ .../appc/dg/common/impl/EventSenderMock.java | 61 ++++++++ .../appc/dg/common/impl/JsonDgUtilImplTest.java | 145 +++++++++++++++++++ 3 files changed, 360 insertions(+) create mode 100644 appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/DCAEReporterPluginImplTest.java create mode 100644 appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/EventSenderMock.java create mode 100644 appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/JsonDgUtilImplTest.java (limited to 'appc-dg/appc-dg-shared/appc-dg-common/src/test') diff --git a/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/DCAEReporterPluginImplTest.java b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/DCAEReporterPluginImplTest.java new file mode 100644 index 000000000..9b8290004 --- /dev/null +++ b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/DCAEReporterPluginImplTest.java @@ -0,0 +1,154 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : APP-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.appc.dg.common.impl; + +import org.junit.*; +import org.junit.runner.RunWith; +import org.mockito.*; +import org.openecomp.appc.adapter.dmaap.EventSender; +import org.openecomp.appc.adapter.dmaap.DmaapDestination; +import org.openecomp.appc.adapter.dmaap.event.EventMessage; +import org.openecomp.appc.dg.common.impl.Constants; +import org.openecomp.appc.dg.common.impl.DCAEReporterPluginImpl; +import org.openecomp.appc.exceptions.APPCException; +import org.openecomp.sdnc.sli.SvcLogicContext; +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 java.util.HashMap; +import java.util.Map; + + +@RunWith(PowerMockRunner.class) +@PrepareForTest({DCAEReporterPluginImpl.class, FrameworkUtil.class}) +public class DCAEReporterPluginImplTest { + private SvcLogicContext ctx; + private Map params; + + private final BundleContext bundleContext=Mockito.mock(BundleContext.class); + private final Bundle bundleService=Mockito.mock(Bundle.class); + private final ServiceReference sref=Mockito.mock(ServiceReference.class); + + + private DCAEReporterPluginImpl dcaeReporterPlugin; + private EventSenderMock eventSender; + + private String apiVer = "2.0.0"; + private String requestId = "123"; + private String error = "test-error"; + + @Before + public void setUp() throws NoSuchFieldException, IllegalAccessException { + eventSender = new EventSenderMock(); + 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(eventSender); + dcaeReporterPlugin = new DCAEReporterPluginImpl(); + + } + + + + + @Test + public void testReportBwcTrue() throws Exception { + + ctx = new SvcLogicContext(); + params = new HashMap<>(); + ctx.setAttribute("isBwcMode", "true"); + params.put(Constants.DG_ERROR_FIELD_NAME, error); + ctx.setAttribute(Constants.API_VERSION_FIELD_NAME, apiVer); + ctx.setAttribute(Constants.REQ_ID_FIELD_NAME, requestId); + + positiveAssert(); + } + + @Test + public void testReportErrorDescriptionNullBwcModeTrue() throws Exception { + + ctx = new SvcLogicContext(); + params = new HashMap<>(); + ctx.setAttribute("isBwcMode", "true"); + params.put(Constants.DG_ERROR_FIELD_NAME, null); + ctx.setAttribute(Constants.API_VERSION_FIELD_NAME, apiVer); + ctx.setAttribute(Constants.REQ_ID_FIELD_NAME, requestId); + + errorReasonNullAssert(); + } + + @Test + public void testReportErrorDescriptionNullBwcModeFalse() throws Exception { + + ctx = new SvcLogicContext(); + params = new HashMap<>(); + ctx.setAttribute("isBwcMode", "false"); + params.put("output.status.message", null); + ctx.setAttribute("input.common-header.api-ver", apiVer); + ctx.setAttribute("input.common-header.request-id", requestId); + + errorReasonNullAssert(); + } + + + private void errorReasonNullAssert() throws APPCException { + dcaeReporterPlugin.report(params, ctx); + DmaapDestination destination = eventSender.getDestination(); + EventMessage msg = eventSender.getMsg(); + Assert.assertEquals("wrong API version", apiVer, msg.getEventHeader().getApiVer()); + Assert.assertEquals("wrong requestId", requestId, msg.getEventHeader().getEventId()); + Assert.assertEquals("wrong error message", "Unknown", msg.getEventStatus().getReason()); + Assert.assertEquals("wrong destination", destination.name(), "DCAE"); + + } + + + private void positiveAssert() throws APPCException { + dcaeReporterPlugin.report(params, ctx); + DmaapDestination destination = eventSender.getDestination(); + EventMessage msg = eventSender.getMsg(); + Assert.assertEquals("wrong API version", apiVer, msg.getEventHeader().getApiVer()); + Assert.assertEquals("wrong requestId", requestId, msg.getEventHeader().getEventId()); + Assert.assertEquals("wrong error message", error, msg.getEventStatus().getReason()); + Assert.assertEquals("wrong destination", destination.name(), "DCAE"); + + } + + + @Test + public void testReportBwcFalse() throws Exception { + ctx = new SvcLogicContext(); + params = new HashMap<>(); + ctx.setAttribute("isBwcMode", "false"); + params.put("output.status.message", error); + ctx.setAttribute("input.common-header.api-ver", apiVer); + ctx.setAttribute("input.common-header.request-id", requestId); + + positiveAssert(); + + } + } diff --git a/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/EventSenderMock.java b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/EventSenderMock.java new file mode 100644 index 000000000..0e6b1651b --- /dev/null +++ b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/EventSenderMock.java @@ -0,0 +1,61 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : APP-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.appc.dg.common.impl; + +import java.util.Map; + +import org.openecomp.appc.adapter.dmaap.EventSender; +import org.openecomp.appc.adapter.dmaap.DmaapDestination; +import org.openecomp.appc.adapter.dmaap.event.EventMessage; +import org.openecomp.appc.exceptions.APPCException; +import org.openecomp.sdnc.sli.SvcLogicContext; + + +public class EventSenderMock implements EventSender { + EventMessage msg; + DmaapDestination destination; + + @Override + public boolean sendEvent(DmaapDestination destination, EventMessage msg) { + if (destination != null && msg != null){ + this.msg = msg; + this.destination = destination; + return true; + } + else{ + return false; + } + } + + @Override + public boolean sendEvent(DmaapDestination destination, Map params, SvcLogicContext ctx) throws APPCException { + return false; + } + + public EventMessage getMsg() { + return msg; + } + + public DmaapDestination getDestination() { + return destination; + } +} diff --git a/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/JsonDgUtilImplTest.java b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/JsonDgUtilImplTest.java new file mode 100644 index 000000000..70534872d --- /dev/null +++ b/appc-dg/appc-dg-shared/appc-dg-common/src/test/java/org/openecomp/appc/dg/common/impl/JsonDgUtilImplTest.java @@ -0,0 +1,145 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : APP-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.appc.dg.common.impl; + +import ch.qos.logback.core.Appender; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.appc.dg.common.impl.JsonDgUtilImpl; +import org.openecomp.appc.exceptions.APPCException; +import org.openecomp.sdnc.sli.SvcLogicContext; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; + +public class JsonDgUtilImplTest { + + private final Appender appender = mock(Appender.class); + + + @Test + public void testFlatAndAddToContext() throws Exception { + JsonDgUtilImpl jsonDgUtil = new JsonDgUtilImpl(); + String key = "payload"; + String testValueKey = "test-key"; + String testValueValue = "test-value"; + String testValueKey2 = "test-key2"; + String testValueValue2 = "test-value2"; + String payload = "{\"" + testValueKey + "\": \"" + testValueValue + "\",\""+testValueKey2+"\": \""+testValueValue2+"\"}"; + + SvcLogicContext ctx = new SvcLogicContext(); + Map params = new HashMap<>(); + params.put(key, payload); + jsonDgUtil.flatAndAddToContext(params, ctx); + + + Assert.assertEquals(ctx.getAttribute(testValueKey), testValueValue); + Assert.assertEquals(ctx.getAttribute(testValueKey2), testValueValue2); + + + + } + + + @Test + public void testFlatAndAddToContextNegativeWrongPayload() throws Exception { + JsonDgUtilImpl jsonDgUtil = new JsonDgUtilImpl(); + String key = "payload"; + String testValueKey = "test-key"; + String testValueValue = "test-value"; + String testValueKey2 = "test-key2"; + String testValueValue2 = "test-value2"; + String payload = "{{\"" + testValueKey + "\": \"" + testValueValue + "\",\""+testValueKey2+"\": \""+testValueValue2+"\"}"; + + SvcLogicContext ctx = new SvcLogicContext(); + Map params = new HashMap<>(); + params.put(key, payload); + try { + jsonDgUtil.flatAndAddToContext(params, ctx); + + } catch (APPCException e) { + Assert.assertNull(ctx.getAttribute(testValueKey)); + Assert.assertNull(ctx.getAttribute(testValueKey2)); + Assert.assertNotNull(ctx.getAttribute("output.status.message")); + } + + + } + + + @Test + public void testFlatAndAddToContextPayloadFromContext() throws Exception { + JsonDgUtilImpl jsonDgUtil = new JsonDgUtilImpl(); + String key = "payload"; + String testValueKey = "test-key"; + String testValueValue = "test-value"; + String testValueKey2 = "test-key2"; + String testValueValue2 = "test-value2"; + String payload = "{\"" + testValueKey + "\": \"" + testValueValue + "\",\""+testValueKey2+"\": \""+testValueValue2+"\"}"; + + SvcLogicContext ctx = new SvcLogicContext(); + Map params = new HashMap<>(); + params.put(key, ""); + ctx.setAttribute("input.payload", payload); + jsonDgUtil.flatAndAddToContext(params, ctx); + + + Assert.assertEquals(ctx.getAttribute(testValueKey), testValueValue); + Assert.assertEquals(ctx.getAttribute(testValueKey2), testValueValue2); + } + + @Test + public void testFlatAndAddToContextNegativeNullPayload() throws Exception { + JsonDgUtilImpl jsonDgUtil = new JsonDgUtilImpl(); + String testValueKey = "test-key"; + String testValueKey2 = "test-key2"; + SvcLogicContext ctx = new SvcLogicContext(); + Map params = new HashMap<>(); + jsonDgUtil.flatAndAddToContext(params, ctx); + + + Assert.assertNull(ctx.getAttribute(testValueKey)); + Assert.assertNull(ctx.getAttribute(testValueKey2)); + } + + + @Test + public void testFlatAndAddToContextNegativeEmptyPayload() throws Exception { + + JsonDgUtilImpl jsonDgUtil = new JsonDgUtilImpl(); + String key = "payload"; + String testValueKey = "test-key"; + String testValueKey2 = "test-key2"; + + SvcLogicContext ctx = new SvcLogicContext(); + Map params = new HashMap<>(); + params.put(key, ""); + jsonDgUtil.flatAndAddToContext(params, ctx); + + Assert.assertNull(ctx.getAttribute(testValueKey)); + Assert.assertNull(ctx.getAttribute(testValueKey2)); + } +} -- cgit 1.2.3-korg