summaryrefslogtreecommitdiffstats
path: root/src/test/java/utils/EventUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/utils/EventUtils.java')
-rw-r--r--src/test/java/utils/EventUtils.java45
1 files changed, 40 insertions, 5 deletions
diff --git a/src/test/java/utils/EventUtils.java b/src/test/java/utils/EventUtils.java
index 0051629..ffa02b0 100644
--- a/src/test/java/utils/EventUtils.java
+++ b/src/test/java/utils/EventUtils.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
+ * Copyright (C) 2019-2020 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -29,13 +29,17 @@ import io.undertow.server.HttpServerExchange;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import junit.framework.TestCase;
+import org.junit.jupiter.params.provider.Arguments;
import org.onap.dcaegen2.services.pmmapper.model.Event;
import org.onap.dcaegen2.services.pmmapper.model.EventMetadata;
-import org.onap.dcaegen2.services.pmmapper.model.MeasCollecFile;
+import org.onap.dcaegen2.services.pmmapper.utils.MeasConverter;
public class EventUtils {
@@ -55,6 +59,27 @@ public class EventUtils {
.map(contents -> EventUtils.makeMockEvent(contents, eventMetadata))
.collect(Collectors.toList());
}
+ /**
+ * Create a List of Arguments containing an Event (Defaults to LTE events), and an expected outcome.
+ * Fails test in the event of failure to read a file.
+ * @param baseDirectory Directory containing multiple formats of events separated by a directory.
+ * @param nrQualifier String representing a unique part of the path that will exist only in the NR path.
+ * @param argCreator Callback to method that will generate the appropriate set of arguments for each test.
+ */
+ public static List<Arguments> generateEventArguments(Path baseDirectory, String nrQualifier, ArgumentCreator argCreator ) {
+ List<Arguments> events = new ArrayList<>();
+ try (Stream<Path> paths = Files.list(baseDirectory)) {
+ paths.filter(Files::isDirectory).forEach(path -> {
+ String fileFormatType = path.toString().contains(nrQualifier) ? MeasConverter.NR_FILE_TYPE : MeasConverter.LTE_FILE_TYPE;
+ EventMetadata eventMetadata = new EventMetadata();
+ eventMetadata.setFileFormatType(fileFormatType);
+ events.addAll(getEventsArgument(path, eventMetadata, argCreator));
+ });
+ } catch (IOException e) {
+ TestCase.fail("IOException occurred while generating test data");
+ }
+ return events;
+ }
/**
* reads contents of file into a string.
@@ -75,15 +100,14 @@ public class EventUtils {
* Makes an event with a mock http server exchange, empty mdc and publish identity
* @param body body for the event.
* @param eventMetadata metadata for the event.
- * @return event with mock HttpServerExchange
+ * @return event with mock HttpServerExchange.
*/
public static Event makeMockEvent(String body, EventMetadata eventMetadata) {
Event event = new Event(mock(HttpServerExchange.class, RETURNS_DEEP_STUBS), body, eventMetadata, new HashMap<>(), "");
- event.setMeasCollecFile(new MeasCollecFile());
+ event.setMeasurement(new MeasConverter().convert(event));
return event;
}
-
/**
* Makes an event with a mock http server exchange and empty mdc
* @param body body for the event.
@@ -95,5 +119,16 @@ public class EventUtils {
return new Event(mockHttpServerExchange, body, eventMetadata, new HashMap<>(), publishIdentity);
}
+ private static List<Arguments> getEventsArgument(Path basePath, EventMetadata metadata, ArgumentCreator argCreator) {
+ List<Arguments> events = new ArrayList<>();
+ try (Stream<Path> paths = Files.list(basePath)) {
+ paths.filter(Files::isDirectory).forEach(path->{
+ events.add(argCreator.makeArgument(path, metadata));
+ });
+ } catch (IOException e) {
+ TestCase.fail("IOException occurred while generating test data");
+ }
+ return events;
+ }
}