diff options
author | Krysiak Adam Gabriel <adam.krysiak@nokia.com> | 2018-05-23 15:34:37 +0200 |
---|---|---|
committer | Krysiak Adam Gabriel <adam.krysiak@nokia.com> | 2018-06-08 09:20:34 +0200 |
commit | 15a1bd474bdc463d744f6621e3c49761f6bf2927 (patch) | |
tree | f7778c6dcdd2b6a547b9ed293adf4d1ee24138d4 /src/test/java | |
parent | 0bfbea6f7d7a5fb324dd3e4961239a6dae3fcb0d (diff) |
Refactored event processor + sonar
Issue-ID: DCAEGEN2-521
Change-Id: I9290f21701945cd1bb5e7a43a671991417f25491
Signed-off-by: Krysiak Adam Gabriel <adam.krysiak@nokia.com>
Diffstat (limited to 'src/test/java')
3 files changed, 183 insertions, 132 deletions
diff --git a/src/test/java/org/onap/dcae/commonFunction/ConfigProcessorAdapterTest.java b/src/test/java/org/onap/dcae/commonFunction/ConfigProcessorAdapterTest.java new file mode 100644 index 00000000..634424b0 --- /dev/null +++ b/src/test/java/org/onap/dcae/commonFunction/ConfigProcessorAdapterTest.java @@ -0,0 +1,66 @@ +// +// ================================================================================ +// Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. +// Copyright (c) 2018 Nokia. 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.onap.dcae.commonFunction; + +import org.json.JSONObject; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class ConfigProcessorAdapterTest { + + @Mock + private ConfigProcessors configProcessors; + + @InjectMocks + private EventProcessor.ConfigProcessorAdapter configProcessorAdapter; + + + @Test + public void shouldCallIsFilterMetOnAdapter() throws Exception { + //given + JSONObject parameter = new JSONObject(); + when(configProcessors.isFilterMet(parameter)).thenReturn(true); + //when + boolean actualReturn = configProcessorAdapter.isFilterMet(parameter); + //then + assertTrue(actualReturn); + verify(configProcessors, times(1)).isFilterMet(parameter); + } + + @Test + public void shouldCallGivenMethodFromConfigProcessor() throws Exception { + JSONObject parameter = new JSONObject(); + String exampleFunction = "concatenateValue"; + //when + configProcessorAdapter.runConfigProcessorFunctionByName(exampleFunction, parameter); + //then + verify(configProcessors, times(1)).concatenateValue(parameter); + } + +}
\ No newline at end of file diff --git a/src/test/java/org/onap/dcae/commonFunction/EventProcessorTest.java b/src/test/java/org/onap/dcae/commonFunction/EventProcessorTest.java new file mode 100644 index 00000000..a3a47720 --- /dev/null +++ b/src/test/java/org/onap/dcae/commonFunction/EventProcessorTest.java @@ -0,0 +1,117 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.dcaegen2.collectors.ves + * ================================================================================ + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2018 Nokia. 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.onap.dcae.commonFunction; + +import com.att.nsa.cambria.client.CambriaBatchingPublisher; +import com.google.gson.Gson; +import org.json.JSONObject; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; + +import java.io.FileNotFoundException; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.onap.dcae.commonFunction.EventProcessor.EVENT_LIST_TYPE; + +public class EventProcessorTest { + + private final String ev = "{\"event\": {\"commonEventHeader\": { \"reportingEntityName\": \"VM name will be provided by ECOMP\", \"startEpochMicrosec\": 1477012779802988,\"lastEpochMicrosec\": 1477012789802988,\"eventId\": \"83\",\"sourceName\": \"Dummy VM name - No Metadata available\",\"sequence\": 83,\"priority\": \"Normal\",\"functionalRole\": \"vFirewall\",\"domain\": \"measurementsForVfScaling\",\"reportingEntityId\": \"VM UUID will be provided by ECOMP\",\"sourceId\": \"Dummy VM UUID - No Metadata available\",\"version\": 1.1},\"measurementsForVfScalingFields\": {\"measurementInterval\": 10,\"measurementsForVfScalingVersion\": 1.1,\"vNicUsageArray\": [{\"multicastPacketsIn\": 0,\"bytesIn\": 3896,\"unicastPacketsIn\": 0, \"multicastPacketsOut\": 0,\"broadcastPacketsOut\": 0, \"packetsOut\": 28,\"bytesOut\": 12178,\"broadcastPacketsIn\": 0,\"packetsIn\": 58,\"unicastPacketsOut\": 0,\"vNicIdentifier\": \"eth0\"}]}}}"; + private String testinput = "src/test/resources/testDmaapConfig_ip.json"; + + @Before + public void setUp() throws Exception { + CommonStartup.streamid = "fault=sec_fault|syslog=sec_syslog|heartbeat=sec_heartbeat|measurementsForVfScaling=sec_measurement|mobileFlow=sec_mobileflow|other=sec_other|stateChange=sec_statechange|thresholdCrossingAlert=sec_thresholdCrossingAlert|voiceQuality=ves_voicequality|sipSignaling=ves_sipsignaling"; + CommonStartup.eventTransformFlag = 1; + } + + @Test + public void testLoad() { + //given + EventProcessor ec = new EventProcessor(); + ec.event = new org.json.JSONObject(ev); + //when + ec.overrideEvent(); + + //then + Boolean hasSourceNameNode = ec.event.getJSONObject("event").getJSONObject("commonEventHeader").has("sourceName"); + assertTrue(hasSourceNameNode); + } + + @Test + public void shouldParseJsonEvents() throws FileNotFoundException, ReflectiveOperationException { + //given + EventProcessor eventProcessor = new EventProcessor(); + String event_json = "[{ \"filter\": {\"event.commonEventHeader.domain\":\"heartbeat\",\"VESversion\":\"v4\"},\"processors\":[" + + "{\"functionName\": \"concatenateValue\",\"args\":{\"field\":\"event.commonEventHeader.eventName\",\"concatenate\": [\"$event.commonEventHeader.domain\",\"$event.commonEventHeader.eventType\",\"$event.faultFields.alarmCondition\"], \"delimiter\":\"_\"}}" + + ",{\"functionName\": \"addAttribute\",\"args\":{\"field\": \"event.heartbeatFields.heartbeatFieldsVersion\",\"value\": \"1.0\",\"fieldType\": \"number\"}}" + + ",{\"functionName\": \"map\",\"args\":{\"field\": \"event.commonEventHeader.nfNamingCode\",\"oldField\": \"event.commonEventHeader.functionalRole\"}}]}]"; + List<Event> events = new Gson().fromJson(event_json, EVENT_LIST_TYPE); + EventProcessor.ConfigProcessorAdapter configProcessorAdapter = mock(EventProcessor.ConfigProcessorAdapter.class); + + when(configProcessorAdapter.isFilterMet(any(JSONObject.class))).thenReturn(true); + ArgumentCaptor<String> stringArgumentCaptor = ArgumentCaptor.forClass(String.class); + ArgumentCaptor<JSONObject> jsonObjectArgumentCaptor = ArgumentCaptor.forClass(JSONObject.class); + //when + eventProcessor.parseEventsJson(events, configProcessorAdapter); + + //then + verify(configProcessorAdapter, times(3)).runConfigProcessorFunctionByName(stringArgumentCaptor.capture(), jsonObjectArgumentCaptor.capture()); + assertThat(stringArgumentCaptor.getAllValues()).contains("concatenateValue", "addAttribute", "map"); + } + + @Test + public void shouldCreateDmaapPublisher() { + + //given + EventPublisherHash eph = EventPublisherHash.getInstance(); + EventProcessor ec = new EventProcessor(); + ec.event = new org.json.JSONObject(ev); + CommonStartup.cambriaConfigFile = "src/test/resources/testDmaapConfig_ip.json"; + + //when + CambriaBatchingPublisher pub = eph.getDmaapPublisher("sec_fault_ueb"); + + //then + assertNotNull(pub); + } + + @Test + public void shouldSendEventWithNoError() { + + EventPublisherHash eph = EventPublisherHash.getInstance(); + EventProcessor eventProcessor = new EventProcessor(); + eventProcessor.event = new org.json.JSONObject(ev); + CommonStartup.cambriaConfigFile = "src/test/resources/testDmaapConfig_ip.json"; + + //when + eph.sendEvent(eventProcessor.event, "sec_fault_ueb"); + } +} + diff --git a/src/test/java/org/onap/dcae/vestest/TestEventProcessor.java b/src/test/java/org/onap/dcae/vestest/TestEventProcessor.java deleted file mode 100644 index bfdb3d76..00000000 --- a/src/test/java/org/onap/dcae/vestest/TestEventProcessor.java +++ /dev/null @@ -1,132 +0,0 @@ -/*-
- * ============LICENSE_START=======================================================
- * org.onap.dcaegen2.collectors.ves
- * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright (C) 2018 Nokia. 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.onap.dcae.vestest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.theories.suppliers.TestedOn;
-import org.onap.dcae.commonFunction.CommonStartup;
-import org.onap.dcae.commonFunction.DmaapPropertyReader;
-import org.onap.dcae.commonFunction.EventProcessor;
-import org.onap.dcae.commonFunction.EventPublisherHash;
-
-import com.att.nsa.cambria.client.CambriaBatchingPublisher;
-
-public class TestEventProcessor {
-
- EventProcessor ec;
- String ev= "{\"event\": {\"commonEventHeader\": { \"reportingEntityName\": \"VM name will be provided by ECOMP\", \"startEpochMicrosec\": 1477012779802988,\"lastEpochMicrosec\": 1477012789802988,\"eventId\": \"83\",\"sourceName\": \"Dummy VM name - No Metadata available\",\"sequence\": 83,\"priority\": \"Normal\",\"functionalRole\": \"vFirewall\",\"domain\": \"measurementsForVfScaling\",\"reportingEntityId\": \"VM UUID will be provided by ECOMP\",\"sourceId\": \"Dummy VM UUID - No Metadata available\",\"version\": 1.1},\"measurementsForVfScalingFields\": {\"measurementInterval\": 10,\"measurementsForVfScalingVersion\": 1.1,\"vNicUsageArray\": [{\"multicastPacketsIn\": 0,\"bytesIn\": 3896,\"unicastPacketsIn\": 0, \"multicastPacketsOut\": 0,\"broadcastPacketsOut\": 0, \"packetsOut\": 28,\"bytesOut\": 12178,\"broadcastPacketsIn\": 0,\"packetsIn\": 58,\"unicastPacketsOut\": 0,\"vNicIdentifier\": \"eth0\"}]}}}";
- String testinput;
-
- @Before
- public void setUp() throws Exception {
- CommonStartup.streamid="fault=sec_fault|syslog=sec_syslog|heartbeat=sec_heartbeat|measurementsForVfScaling=sec_measurement|mobileFlow=sec_mobileflow|other=sec_other|stateChange=sec_statechange|thresholdCrossingAlert=sec_thresholdCrossingAlert|voiceQuality=ves_voicequality|sipSignaling=ves_sipsignaling";
- CommonStartup.eventTransformFlag = 1;
- testinput = "src/test/resources/testDmaapConfig_ip.json";
-
- }
-
- @After
- public void tearDown() throws Exception {
- }
-
- @Test
- public void testLoad() {
-
-
- EventProcessor ec = new EventProcessor();
-
- ec.event=new org.json.JSONObject(ev);
-
- ec.overrideEvent();
- //event.commonEventHeader.sourceName
- Boolean flag = ec.event.getJSONObject("event").getJSONObject("commonEventHeader").has("sourceName");
- assertEquals(true, flag);
- }
-
-
- @Test
- public void testpublisherhashclass() {
-
- DmaapPropertyReader dr = null;
- EventPublisherHash eph = null;
-
- Boolean flag = false;
- dr = new DmaapPropertyReader(testinput);
- eph = EventPublisherHash.getInstance();
-
-
- if (eph.equals(null))
- {
- flag = false;
- }
- else
- {
- flag = true;
- }
- assertEquals(true, flag);
-
-
- }
-
- @Test
- public void testpublisherhashclassload() {
-
- DmaapPropertyReader dr;
- EventPublisherHash eph = null;
-
- dr = new DmaapPropertyReader(testinput);
- eph = EventPublisherHash.getInstance();
- EventProcessor ec = new EventProcessor();
- ec.event=new org.json.JSONObject(ev);
- CommonStartup.cambriaConfigFile="src/test/resources/testDmaapConfig_ip.json";
-
- CambriaBatchingPublisher pub = eph.getDmaapPublisher("sec_fault_ueb");
-
- assertNotNull(pub);
- }
-
- @Test
- public void testpublisherhashSend() {
-
- DmaapPropertyReader dr;
- EventPublisherHash eph = null;
-
- Boolean flag = true;
- dr = new DmaapPropertyReader(testinput);
- eph = EventPublisherHash.getInstance();
-
-
- EventProcessor ec = new EventProcessor();
- ec.event=new org.json.JSONObject(ev);
- CommonStartup.cambriaConfigFile="src/test/resources/testDmaapConfig_ip.json";
- eph.sendEvent(ec.event, "sec_fault_ueb");
-
- assertEquals(true, flag);
-
- }
-}
-
|