summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.java')
-rw-r--r--src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.java149
1 files changed, 41 insertions, 108 deletions
diff --git a/src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.java b/src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.java
index 34b71f4..5cd1634 100644
--- a/src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.java
+++ b/src/test/java/org/onap/dcaegen2/services/pmmapper/filtering/MeasFilterHandlerTest.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.
@@ -26,43 +26,40 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.List;
-import java.util.stream.Collectors;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
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.model.MeasFilterConfig;
import org.onap.dcaegen2.services.pmmapper.model.MeasFilterConfig.Filter;
+import org.onap.dcaegen2.services.pmmapper.model.measurement.common.MeasurementFile;
import org.onap.dcaegen2.services.pmmapper.utils.MeasConverter;
import io.undertow.server.HttpServerExchange;
+import utils.ArgumentCreator;
import utils.EventUtils;
@ExtendWith(MockitoExtension.class)
class MeasFilterHandlerTest {
+ private static final Path FILTER_DIRECTORY = Paths.get("src/test/resources/filter_test/");
private static final String baseDir = "src/test/resources/filter_test/";
- private static final Path dataDirectory = Paths.get("src/test/resources/mapper_test/mapping_data/");
private static MeasConverter converter = new MeasConverter();
private MeasFilterHandler objUnderTest;
@Mock
private HttpServerExchange exchange;
- @Mock
- private EventMetadata metaData;
@BeforeEach
void setup() {
@@ -70,34 +67,8 @@ class MeasFilterHandlerTest {
}
@Test
- void measTypes_byCommaSeparation() throws IOException {
- String inputPath = baseDir + "meas_results";
- String expected = EventUtils.fileContentsToString(Paths.get(inputPath + "_filtered.xml"));
- Event event = generateEvent(inputPath, generateValidFilter());
-
- objUnderTest.filterByMeasType(event);
-
- String actual = converter.convert(event.getMeasCollecFile());
- assertEquals(expected, actual);
- }
-
- @Test
- void measType_byID() throws IOException {
- String inputPath = baseDir + "meas_type_and_r";
- String filteredString = EventUtils.fileContentsToString(Paths.get(inputPath + "_filtered.xml"));
- Event event = generateEvent(inputPath, generateValidFilter());
- MeasCollecFile f = converter.convert(filteredString);
- String expected = converter.convert(f);
-
- objUnderTest.filterByMeasType(event);
-
- String actual = converter.convert(event.getMeasCollecFile());
- assertEquals(expected, actual);
- }
-
- @Test
void skip_mapping_when_no_Filters_match() {
- String inputPath = baseDir + "meas_results";
+ String inputPath = baseDir + "lte/meas_results/test.xml";
Filter noMatchFilter = new MeasFilterConfig().new Filter();
noMatchFilter.setMeasTypes(Arrays.asList("nomatch1", "nomatch2"));
Event event = generateEvent(inputPath, noMatchFilter);
@@ -111,7 +82,7 @@ class MeasFilterHandlerTest {
@Test
void remove_events_that_does_not_match_filter() {
- String inputPath = baseDir + "meas_type_and_r_manyInfo";
+ String inputPath = baseDir + "lte/meas_type_and_r_manyinfo/test.xml";
Filter matchFilter = new MeasFilterConfig().new Filter();
matchFilter.setMeasTypes(Arrays.asList("a", "b"));
@@ -129,71 +100,29 @@ class MeasFilterHandlerTest {
@Test
void skip_mapping_when_MeasData_isEmpty() {
- String inputPath = baseDir + "meas_results";
+ String inputPath = baseDir + "lte/meas_results/test.xml";
Event event = generateEvent(inputPath, generateValidFilter());
- event.getMeasCollecFile().replaceMeasData(Arrays.asList());
+ event.getMeasurement().replacementMeasurementData(Arrays.asList());
assertFalse(objUnderTest.filterByMeasType(event));
}
@Test
void skip_filtering_if_filter_or_meastypes_isEmpty() {
- String inputPath = baseDir + "meas_results";
+ String inputPath = baseDir + "lte/meas_results/test.xml";
Filter emptyMeastypesFilter = new MeasFilterConfig().new Filter();
emptyMeastypesFilter.setMeasTypes(Arrays.asList());
Event event = generateEvent(inputPath, emptyMeastypesFilter);
- MeasCollecFile originalMeasCollec = event.getMeasCollecFile();
+ MeasurementFile originalMeasCollec = event.getMeasurement();
assertTrue(objUnderTest.filterByMeasType(event));
- assertEquals(originalMeasCollec,event.getMeasCollecFile());
+ assertEquals(originalMeasCollec,event.getMeasurement());
event.setFilter(null);
assertTrue(objUnderTest.filterByMeasType(event));
- assertEquals(originalMeasCollec,event.getMeasCollecFile());
- }
-
- @Test
- void multiple_measInfos_measResults() {
- String inputPath = baseDir + "meas_results_manyInfo";
- String filteredString = EventUtils.fileContentsToString(Paths.get(inputPath + "_filtered.xml"));
- Event event = generateEvent(inputPath, generateValidFilter());
-
- MeasCollecFile f = converter.convert(filteredString);
- String expected = converter.convert(f);
- objUnderTest.filterByMeasType(event);
-
- String actual = converter.convert(event.getMeasCollecFile());
- assertEquals(expected, actual);
- }
-
- @Test
- void multiple_measInfos_measTypeAndR() {
- String inputPath = baseDir + "meas_type_and_r_manyInfo";
- String filteredString = EventUtils.fileContentsToString(Paths.get(inputPath + "_filtered.xml"));
- Event event = generateEvent(inputPath, generateValidFilter());
-
- MeasCollecFile f = converter.convert(filteredString);
- String expected = converter.convert(f);
- objUnderTest.filterByMeasType(event);
-
- String actual = converter.convert(event.getMeasCollecFile());
- assertEquals(expected, actual);
- }
-
- @Test
- void multiple_measValues() {
- String inputPath = baseDir + "meas_type_and_r_manyMeasvalue";
- String filteredString = EventUtils.fileContentsToString(Paths.get(inputPath + "_filtered.xml"));
- Event event = generateEvent(inputPath, generateValidFilter());
-
- MeasCollecFile f = converter.convert(filteredString);
- String expected = converter.convert(f);
- objUnderTest.filterByMeasType(event);
-
- String actual = converter.convert(event.getMeasCollecFile());
- assertEquals(expected, actual);
+ assertEquals(originalMeasCollec,event.getMeasurement());
}
@Test
@@ -208,30 +137,34 @@ class MeasFilterHandlerTest {
@Test
void invalid_fileType() {
Event event = mock(Event.class);
- List<String> invalidFiletypes = Arrays.asList("Bpm.xml","Dpm.xml","Apm.xml.gz","Apm.xm1","asdf","bsdf");
+ List<String> invalidFileTypes = Arrays.asList("Bpm.xml","Dpm.xml","Apm.xml.gz","Apm.xm1","asdf","bsdf");
when(event.getHttpServerExchange()).thenReturn(exchange);
- when(exchange.getRequestPath())
- .thenReturn(invalidFiletypes.toString());
-
- invalidFiletypes.forEach(c -> assertFalse(objUnderTest.filterByFileType(event)));
+ invalidFileTypes.forEach(fileName -> {
+ when(exchange.getRequestPath())
+ .thenReturn(fileName);
+ assertFalse(objUnderTest.filterByFileType(event));
+ });
}
-
@ParameterizedTest
- @MethodSource("getValidMeas")
- void applyFilterToValidMeasurements(Event testEvent) {
+ @MethodSource("getEvents")
+ void filter_valid_measurements(Event expectedEvent, Event testEvent) {
objUnderTest.filterByMeasType(testEvent);
+ String actual = converter.convert(testEvent.getMeasurement());
+ String expected = converter.convert(expectedEvent.getMeasurement());
+ assertEquals(expected, actual);
+
}
private Event generateEvent(String inputPath, Filter filter) {
- String inputXml = EventUtils.fileContentsToString(Paths.get(inputPath + ".xml"));
- Event event = new Event(exchange, inputXml, metaData, new HashMap<>(), "");
- event.setMeasCollecFile(converter.convert(inputXml));
+ EventMetadata metadata = new EventMetadata();
+ metadata.setFileFormatType(MeasConverter.LTE_FILE_TYPE);
+ Event event = EventUtils.makeMockEvent(EventUtils.fileContentsToString(Paths.get(inputPath)), metadata);
event.setFilter(filter);
return event;
}
- private Filter generateValidFilter() {
+ private static Filter generateValidFilter() {
Filter filter;
filter = new MeasFilterConfig().new Filter();
filter.setDictionaryVersion("1.0");
@@ -239,17 +172,17 @@ class MeasFilterHandlerTest {
return filter;
}
- static List<Event> getValidMeas() throws IOException {
- final Path metadata = Paths.get("src/test/resources/valid_metadata.json");
- List<Event> events = EventUtils
- .eventsFromDirectory(Paths.get(dataDirectory.toString() + "/valid_data/"), metadata)
- .stream()
- .map(e -> {
- MeasCollecFile m = converter.convert(e.getBody());
- e.setMeasCollecFile(m);
- return e;
- })
- .collect(Collectors.toList());
- return events;
+ private static List<Arguments> getEvents() {
+ ArgumentCreator creator = (Path path, EventMetadata metadata) -> {
+ Path expectedEventPath = Paths.get(path.toString()+"/expected.xml");
+ Path testEventPath = Paths.get(path.toString()+"/test.xml");
+ Event expectedEvent = EventUtils.makeMockEvent(EventUtils.fileContentsToString(expectedEventPath), metadata);
+ Event testEvent = EventUtils.makeMockEvent(EventUtils.fileContentsToString(testEventPath), metadata);
+ testEvent.setFilter(generateValidFilter());
+ return Arguments.of(expectedEvent, testEvent);
+ };
+ return EventUtils.generateEventArguments(FILTER_DIRECTORY, "/nr", creator);
+
}
+
}