summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java')
-rw-r--r--src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java99
1 files changed, 96 insertions, 3 deletions
diff --git a/src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java b/src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java
index b4dc178..7c5340a 100644
--- a/src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java
+++ b/src/test/java/org/onap/dcaegen2/services/pmmapper/AppTest.java
@@ -23,18 +23,21 @@ package org.onap.dcaegen2.services.pmmapper;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.*;
import static org.mockserver.integration.ClientAndServer.startClientAndServer;
import static org.mockserver.model.HttpResponse.response;
+import java.io.IOException;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
+import com.google.gson.Gson;
+import io.undertow.server.HttpServerExchange;
import io.undertow.util.StatusCodes;
+import org.onap.dcaegen2.services.pmmapper.utils.XMLValidator;
import reactor.core.publisher.Flux;
import org.junit.jupiter.api.AfterAll;
@@ -53,6 +56,7 @@ import org.onap.dcaegen2.services.pmmapper.model.EventMetadata;
import org.onap.dcaegen2.services.pmmapper.model.MapperConfig;
import org.onap.dcaegen2.services.pmmapper.utils.MeasConverter;
import org.onap.dcaegen2.services.pmmapper.utils.MeasSplitter;
+import utils.EventUtils;
@ExtendWith(MockitoExtension.class)
@@ -61,6 +65,13 @@ class AppTest {
static ClientAndServer mockServer;
static MockServerClient client;
+ private static EventMetadata eventMetadata;
+
+ private static final Path dataDirectory = Paths.get("src/test/resources/mapper_test/mapping_data/");
+ private static final Path metadata = Paths.get("src/test/resources/valid_metadata.json");
+ private static final Path schema = Paths.get("src/main/resources/measCollec_plusString.xsd");
+
+
@BeforeAll
public static void setup() {
mockServer = startClientAndServer(1080);
@@ -99,6 +110,88 @@ class AppTest {
}
@Test
+ public void testFilterByFileType_success() {
+ Event mockEvent = Mockito.mock(Event.class);
+ MapperConfig mockConfig = Mockito.mock(MapperConfig.class);
+
+ HttpServerExchange exchange = Mockito.mock(HttpServerExchange.class);
+ when(mockEvent.getHttpServerExchange()).thenReturn(exchange);
+ when(exchange.getRequestPath()).thenReturn("ATEST.xml");
+
+ boolean result = App.filterByFileType(new MeasFilterHandler(new MeasConverter()), mockEvent, mockConfig);
+ assertTrue(result);
+ }
+
+ @Test
+ public void testFilterByFileType_NonXML() {
+ Event mockEvent = Mockito.mock(Event.class);
+ MapperConfig mockConfig = Mockito.mock(MapperConfig.class);
+
+ HttpServerExchange exchange = Mockito.mock(HttpServerExchange.class);
+ when(mockEvent.getHttpServerExchange()).thenReturn(exchange);
+ when(exchange.getRequestPath()).thenReturn("ATEST.png");
+
+ boolean result = App.filterByFileType(new MeasFilterHandler(new MeasConverter()), mockEvent, mockConfig);
+ assertFalse(result);
+ }
+
+ @Test
+ public void testFilterByFileType_throwException() {
+ Event mockEvent = Mockito.mock(Event.class);
+ MeasFilterHandler mockFilter = Mockito.mock(MeasFilterHandler.class);
+ MapperConfig mockConfig = Mockito.mock(MapperConfig.class);
+
+ Mockito.when(mockFilter.filterByFileType(mockEvent)).thenThrow(RuntimeException.class);
+
+ boolean result = App.filterByFileType(mockFilter, mockEvent, mockConfig);
+ assertFalse(result);
+ }
+
+ @Test
+ public void testValidateXML_success() throws IOException {
+ XMLValidator mockValidator = new XMLValidator(schema);
+ MapperConfig mockConfig = Mockito.mock(MapperConfig.class);
+
+ String metadataFileContents = new String(Files.readAllBytes(metadata));
+ eventMetadata = new Gson().fromJson(metadataFileContents, EventMetadata.class);
+
+ Path testFile = Paths.get(dataDirectory + "/valid_data/meas_results.xml");
+ Event mockEvent = EventUtils.makeMockEvent(EventUtils.fileContentsToString(testFile), eventMetadata);
+
+ boolean result = App.validate(mockValidator, mockEvent, mockConfig);
+
+ assertTrue(result);
+ }
+
+ @Test
+ public void testValidateXML_failure() throws IOException {
+ XMLValidator mockValidator = new XMLValidator(schema);
+ MapperConfig mockConfig = Mockito.mock(MapperConfig.class);
+
+ String metadataFileContents = new String(Files.readAllBytes(metadata));
+ eventMetadata = new Gson().fromJson(metadataFileContents, EventMetadata.class);
+
+ Path testFile = Paths.get(dataDirectory + "/invalid_data/no_managed_element.xml");
+ Event mockEvent = EventUtils.makeMockEvent(EventUtils.fileContentsToString(testFile), eventMetadata);
+
+ boolean result = App.validate(mockValidator, mockEvent, mockConfig);
+
+ assertFalse(result);
+ }
+
+ @Test
+ public void testValidateXML_throwException() {
+ Event mockEvent = Mockito.mock(Event.class);
+ XMLValidator mockValidator = Mockito.mock(XMLValidator.class);
+ MapperConfig mockConfig = Mockito.mock(MapperConfig.class);
+
+ Mockito.when(mockValidator.validate(mockEvent)).thenThrow(RuntimeException.class);
+ boolean result = App.validate(mockValidator, mockEvent, mockConfig);
+
+ assertFalse(result);
+ }
+
+ @Test
public void testFilter_success() {
Event mockEvent = Mockito.mock(Event.class);
List<Event> mockEvents = Arrays.asList(mockEvent);