Test updates 59/133259/2 1.12.3
authorVijay Venkatesh Kumar <vv770d@att.com>
Tue, 14 Feb 2023 21:48:50 +0000 (16:48 -0500)
committerVijay Venkatesh Kumar <vv770d@att.com>
Tue, 14 Feb 2023 21:59:01 +0000 (16:59 -0500)
Test updates for ConfigProcessor, DMaaPConfigurationParser
& DMaaPEventPublisher

Change-Id: I340b3591ca47172dc90f8dafabdc1a0bf34ffb7c
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Issue-ID: DCAEGEN2-3345
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Changelog.md
pom.xml
src/main/java/org/onap/dcae/common/ConfigProcessors.java
src/main/java/org/onap/dcae/common/publishing/DMaaPEventPublisher.java
src/test/java/org/onap/dcae/common/ConfigProcessorTest.java
src/test/java/org/onap/dcae/common/publishing/DMaaPConfigurationParserTest.java
src/test/java/org/onap/dcae/common/publishing/DMaaPEventPublisherTest.java [new file with mode: 0644]
version.properties

index 3c7339f..3b2a1e9 100644 (file)
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
 
 The format is based on [Keep a Changelog](http://keepachangelog.com/)
 and this project adheres to [Semantic Versioning](http://semver.org/).
+
+## [1.12.3] - 2023/02/14
+         - [DCAEGEN2-3345] - Test updates for ConfigProcessor, DMaaPConfigurationParser & DMaaPEventPublisher
+
 ## [1.12.2] - 2023/01/20
          - [DCAEGEN2-3334] - Update tests execution to be platform agnostic
          - [DCAEGEN2-3345] - Add additional tests for ConfigProcessor and ApiAuthInterceptor
diff --git a/pom.xml b/pom.xml
index 213f63e..d84e761 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
   </parent>
   <groupId>org.onap.dcaegen2.collectors.ves</groupId>
   <artifactId>VESCollector</artifactId>
-  <version>1.12.2-SNAPSHOT</version>
+  <version>1.12.3-SNAPSHOT</version>
   <name>dcaegen2-collectors-ves</name>
   <description>VESCollector</description>
   <properties>
index 040a3e6..d53bf23 100644 (file)
@@ -202,7 +202,7 @@ public class ConfigProcessors {
         }
     }
 
-    private String performOperation(String operation, String value) {
+    String performOperation(String operation, String value) {
         log.info("performOperation");
         if ("convertMBtoKB".equals(operation)) {
             float kbValue = Float.parseFloat(value) * 1024;
index 08e16e0..a7c0a0e 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * org.onap.dcaegen2.collectors.ves
  * ================================================================================
- * Copyright (C) 2017,2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017,2020,2023 AT&T Intellectual Property. All rights reserved.
  * Copyright (C) 2018-2021 Nokia. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,6 +33,7 @@ import java.util.List;
 import java.util.Objects;
 
 import static org.onap.dcae.common.publishing.MessageRouterHttpStatusMapper.getHttpStatus;
+
 /**
  * @author Pawel Szalapski (pawel.szalapski@nokia.com)
  */
@@ -48,9 +49,10 @@ public class DMaaPEventPublisher {
 
     /**
      * Reload Dmaap configuration
+     * 
      * @param dmaapConfiguration Dmaap configuration
      */
-    public void reload(Map<String, PublisherConfig> dmaapConfiguration){
+    public void reload(Map<String, PublisherConfig> dmaapConfiguration) {
         dMaaPConfig = dmaapConfiguration;
         log.info("reload dmaap configuration");
     }
@@ -58,22 +60,26 @@ public class DMaaPEventPublisher {
     public HttpStatus sendEvent(List<VesEvent> vesEvents, String dmaapId) {
         clearVesUniqueIdFromEvent(vesEvents);
         io.vavr.collection.List<String> events = mapListOfEventsToVavrList(vesEvents);
-        Flux<MessageRouterPublishResponse> messageRouterPublishFlux = dmaapPublisher.publishEvents(events, dMaaPConfig.get(dmaapId));
+        HttpStatus rc = messageRouterPublishResponse(events, dmaapId);
+        return rc;
+    }
+
+    HttpStatus messageRouterPublishResponse(io.vavr.collection.List<String> events, String dmaapId) {
+        Flux<MessageRouterPublishResponse> messageRouterPublishFlux =
+                dmaapPublisher.publishEvents(events, dMaaPConfig.get(dmaapId));
         MessageRouterPublishResponse messageRouterPublishResponse = messageRouterPublishFlux.blockFirst();
         return getHttpStatus(Objects.requireNonNull(messageRouterPublishResponse));
+
     }
 
     private io.vavr.collection.List<String> mapListOfEventsToVavrList(List<VesEvent> vesEvents) {
-        return io.vavr.collection.List.ofAll(vesEvents)
-                .map(event -> event.asJsonObject().toString());
+        return io.vavr.collection.List.ofAll(vesEvents).map(event -> event.asJsonObject().toString());
     }
 
     private void clearVesUniqueIdFromEvent(List<VesEvent> events) {
-        events.stream()
-                .filter(event -> event.hasType(VesEvent.VES_UNIQUE_ID))
-                .forEach(event -> {
-                    log.debug("Removing VESuniqueid object from event");
-                    event.removeElement(VesEvent.VES_UNIQUE_ID);
-                });
+        events.stream().filter(event -> event.hasType(VesEvent.VES_UNIQUE_ID)).forEach(event -> {
+            log.debug("Removing VESuniqueid object from event");
+            event.removeElement(VesEvent.VES_UNIQUE_ID);
+        });
     }
 }
index 7fe80e0..a42ba5a 100644 (file)
@@ -29,6 +29,7 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import org.json.JSONArray;
 import org.json.JSONObject;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -58,6 +59,14 @@ public class ConfigProcessorTest {
                 + "        }");
         doReturn("ObjectNotFound").when(configProcessors).getEventObjectVal(Mockito.any());
         configProcessors.renameArrayInArray(jsonObj);
+        JSONObject jsonObj1 = new JSONObject(" {\r\n"
+                + "          \"field\": \"event[].measurementsForVfScalingFields[]\",\r\n"
+                + "          \"oldField\": \"event[].measurementFields[]\",\r\n"
+                + "          \"mapType\": \"renameObject\"\r\n"
+                + "        }");
+        String oldvalue =  "[{\"cpuUsageNice\":0,\"percentUsage\":0.39,\"cpuIdentifier\":\"all\",\"cpuIdle\":99.61,\"cpuUsageSystem\":0,\"cpuUsageUser\":0.22},{\"cpuUsageNice\":0,\"percentUsage\":0.36,\"cpuIdentifier\":\"cpu0\",\"cpuIdle\":99.64,\"cpuUsageSystem\":0,\"cpuUsageUser\":0.21},{\"cpuUsageNice\":0,\"percentUsage\":0.33,\"cpuIdentifier\":\"cpu3\",\"cpuIdle\":99.67,\"cpuUsageSystem\":0,\"cpuUsageUser\":0.19}]";
+        doReturn(oldvalue).when(configProcessors).getEventObjectVal(Mockito.any());
+        configProcessors.renameArrayInArray(jsonObj1);
 
     }
 
@@ -124,4 +133,11 @@ public class ConfigProcessorTest {
         doReturn(true).when(configProcessors).checkFilter(Mockito.any(),Mockito.any(),Mockito.any());
         assertTrue((configProcessors.isFilterMet(jsonObj)));
     }
+
+    @Test
+    public void verifyConvertMBtoKBOperation() {
+        String operation = "convertMBtoKB";
+        String expval = "5120.0";
+        assertEquals (expval, configProcessors.performOperation( operation, "5"));
+    }
 }
index 9aaeb28..63c6505 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * org.onap.dcaegen2.collectors.ves
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018,2023 AT&T Intellectual Property. All rights reserved.
  * Copyright (C) 2018,2021 Nokia. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,8 +22,11 @@ package org.onap.dcae.common.publishing;
 
 import static io.vavr.API.List;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 import static org.onap.dcae.common.publishing.DMaaPConfigurationParser.parseToDomainMapping;
 
+import io.vavr.collection.List;
 import io.vavr.collection.Map;
 import io.vavr.control.Try;
 import java.nio.file.Path;
@@ -70,4 +73,13 @@ public class DMaaPConfigurationParserTest {
         assertThat(withOtherSegment.topic()).isEqualTo("DCAE-SE-COLLECTOR-EVENTS-DEV");
     }
 
+    @Test
+    public void testPubConfigOverrideFunction() {
+        List<String> dmaapHost = List.of("dmaapHost:3904");
+        PublisherConfig pubConfig = new PublisherConfig(dmaapHost,"VES-OUTPUT", "TEST","TEST");
+        assertTrue(pubConfig.equals(pubConfig));
+        //negative tests
+        assertFalse(pubConfig.equals(null));
+        assertFalse(pubConfig.equals(new PublisherConfig(dmaapHost,"VES-OUTPUT1", "TEST1","TEST1")));
+    }
 }
diff --git a/src/test/java/org/onap/dcae/common/publishing/DMaaPEventPublisherTest.java b/src/test/java/org/onap/dcae/common/publishing/DMaaPEventPublisherTest.java
new file mode 100644 (file)
index 0000000..1fdd27a
--- /dev/null
@@ -0,0 +1,69 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VES Collector
+ * ================================================================================
+ * Copyright (C) 2023 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.onap.dcae.common.publishing;
+
+import io.vavr.collection.HashMap;
+import io.vavr.collection.List;
+import io.vavr.collection.Map;
+import org.json.JSONObject;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.onap.dcae.common.JsonDataLoader;
+import org.onap.dcae.common.model.VesEvent;
+import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.ImmutableMessageRouterPublishResponse;
+import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterPublishResponse;
+import org.springframework.http.HttpStatus;
+
+import com.google.gson.JsonElement;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+
+public class DMaaPEventPublisherTest {
+
+    @Test
+    public void sendEventtest() throws IOException, URISyntaxException {
+
+        HttpStatus expectedrc = HttpStatus.ACCEPTED;
+
+        Map<String, PublisherConfig> dMaaPConfig = HashMap.of("key1", new PublisherConfig(null, null));
+        DMaaPEventPublisher dmaapEventpub = Mockito.spy(new DMaaPEventPublisher(dMaaPConfig));
+        java.util.List<VesEvent> eventToSend = createEventToSend("/eventsAfterTransformation/ves7_valid_event.json");
+        doReturn(expectedrc).when(dmaapEventpub).messageRouterPublishResponse(Mockito.any(), Mockito.any());
+        HttpStatus rc = dmaapEventpub.sendEvent(eventToSend, "ves-fault");
+        assertEquals(expectedrc.toString(), rc.toString());
+    }
+
+    private java.util.List<VesEvent> createEventToSend(String path) throws IOException, URISyntaxException {
+        String event = JsonDataLoader.loadContent(path);
+        JSONObject jsonObject = new JSONObject(event);
+        java.util.List<VesEvent> javaStringList = (List.of(new VesEvent(jsonObject))).toJavaList();
+        return javaStringList;
+    }
+
+    private MessageRouterPublishResponse successPublishResponse(List<JsonElement> items) {
+        return ImmutableMessageRouterPublishResponse.builder().items(items).build();
+    }
+
+}
index d7c8cf3..7bf1a5c 100644 (file)
@@ -1,6 +1,6 @@
 major=1
 minor=12
-patch=2
+patch=3
 base_version=${major}.${minor}.${patch}
 release_version=${base_version}
 snapshot_version=${base_version}-SNAPSHOT