aboutsummaryrefslogtreecommitdiffstats
path: root/test/mocks/pnfsimulator/pnfsimulator/src/test/java/org/onap/pnfsimulator/simulator/SimulatorServiceTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/mocks/pnfsimulator/pnfsimulator/src/test/java/org/onap/pnfsimulator/simulator/SimulatorServiceTest.java')
-rw-r--r--test/mocks/pnfsimulator/pnfsimulator/src/test/java/org/onap/pnfsimulator/simulator/SimulatorServiceTest.java226
1 files changed, 0 insertions, 226 deletions
diff --git a/test/mocks/pnfsimulator/pnfsimulator/src/test/java/org/onap/pnfsimulator/simulator/SimulatorServiceTest.java b/test/mocks/pnfsimulator/pnfsimulator/src/test/java/org/onap/pnfsimulator/simulator/SimulatorServiceTest.java
deleted file mode 100644
index 32dd532aa..000000000
--- a/test/mocks/pnfsimulator/pnfsimulator/src/test/java/org/onap/pnfsimulator/simulator/SimulatorServiceTest.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * PNF-REGISTRATION-HANDLER
- * ================================================================================
- * 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.pnfsimulator.simulator;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonSyntaxException;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.ArgumentCaptor;
-import org.onap.pnfsimulator.event.EventData;
-import org.onap.pnfsimulator.event.EventDataService;
-import org.onap.pnfsimulator.rest.model.FullEvent;
-import org.onap.pnfsimulator.rest.model.SimulatorParams;
-import org.onap.pnfsimulator.rest.model.SimulatorRequest;
-import org.onap.pnfsimulator.simulator.client.HttpClientAdapter;
-import org.onap.pnfsimulator.simulator.scheduler.EventScheduler;
-import org.onap.pnfsimulator.simulatorconfig.SimulatorConfig;
-import org.onap.pnfsimulator.simulatorconfig.SimulatorConfigService;
-import org.quartz.SchedulerException;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.internal.verification.VerificationModeFactory.times;
-
-class SimulatorServiceTest {
-
- private static final String VES_URL = "http://0.0.0.0:8080";
- private static final Gson GSON = new Gson();
- private static final JsonObject VALID_PATCH = GSON.fromJson("{\"event\": {\n" +
- " \"commonEventHeader\": {\n" +
- " \"sourceName\": \"SomeCustomSource\"}}}\n", JsonObject.class);
- private static JsonObject VALID_FULL_EVENT = GSON.fromJson("{\"event\": {\n" +
- " \"commonEventHeader\": {\n" +
- " \"domain\": \"notification\",\n" +
- " \"eventName\": \"vFirewallBroadcastPackets\"\n" +
- " },\n" +
- " \"notificationFields\": {\n" +
- " \"arrayOfNamedHashMap\": [{\n" +
- " \"name\": \"A20161221.1031-1041.bin.gz\",\n" +
- " \"hashMap\": {\n" +
- " \"fileformatType\": \"org.3GPP.32.435#measCollec\"}}]}}}", JsonObject.class);
- private static JsonObject FULL_EVENT_WITH_KEYWORDS = GSON.fromJson("{\"event\":{ \n" +
- " \"commonEventHeader\":{ \n" +
- " \"domain\":\"notification\",\n" +
- " \"eventName\":\"#RandomString(20)\",\n" +
- " \"eventOrderNo\":\"#Increment\"}}}", JsonObject.class);
- private static final String SOME_CUSTOM_SOURCE = "SomeCustomSource";
- private static final String CLOSED_LOOP_VNF ="ClosedLoopVNF";
- private static final String SAMPLE_ID = "sampleId";
- private static final EventData SAMPLE_EVENT = EventData.builder().id("1").build();
- private final ArgumentCaptor<JsonObject> bodyCaptor = ArgumentCaptor.forClass(JsonObject.class);
- private final ArgumentCaptor<Integer> intervalCaptor = ArgumentCaptor.forClass(Integer.class);
- private final ArgumentCaptor<Integer> repeatCountCaptor = ArgumentCaptor
- .forClass(Integer.class);
- private final ArgumentCaptor<String> templateNameCaptor = ArgumentCaptor.forClass(String.class);
- private final ArgumentCaptor<String> eventIdCaptor = ArgumentCaptor.forClass(String.class);
- private final ArgumentCaptor<String> vesUrlCaptor = ArgumentCaptor.forClass(String.class);
- private final ArgumentCaptor<String> eventContentCaptor = ArgumentCaptor.forClass(String.class);
- private SimulatorService simulatorService;
- private EventDataService eventDataService;
- private EventScheduler eventScheduler;
- private SimulatorConfigService simulatorConfigService;
- private static TemplatePatcher templatePatcher = new TemplatePatcher();
- private static TemplateReader templateReader = new FilesystemTemplateReader(
- "src/test/resources/org/onap/pnfsimulator/simulator/", GSON);
-
- @BeforeEach
- void setUp() {
- eventDataService = mock(EventDataService.class);
- eventScheduler = mock(EventScheduler.class);
- simulatorConfigService = mock(SimulatorConfigService.class);
-
- simulatorService = new SimulatorService(templatePatcher, templateReader,
- eventScheduler, eventDataService, simulatorConfigService);
- }
-
- @Test
- void shouldTriggerEventWithGivenParams() throws IOException, SchedulerException {
- String templateName = "validExampleMeasurementEvent.json";
- SimulatorParams simulatorParams = new SimulatorParams(VES_URL, 1, 1);
- SimulatorRequest simulatorRequest = new SimulatorRequest(simulatorParams,
- templateName, VALID_PATCH);
-
- doReturn(SAMPLE_EVENT).when(eventDataService).persistEventData(any(JsonObject.class), any(JsonObject.class), any(JsonObject.class), any(JsonObject.class));
-
- simulatorService.triggerEvent(simulatorRequest);
-
- assertEventHasExpectedStructure(VES_URL, templateName, SOME_CUSTOM_SOURCE);
- }
-
- @Test
- void shouldTriggerEventWithDefaultVesUrlWhenNotProvidedInRequest() throws IOException, SchedulerException {
- String templateName = "validExampleMeasurementEvent.json";
- SimulatorRequest simulatorRequest = new SimulatorRequest(
- new SimulatorParams("", 1, 1),
- templateName, VALID_PATCH);
-
- URL inDbVesUrl = new URL("http://0.0.0.0:8080/eventListener/v6");
- doReturn(SAMPLE_EVENT).when(eventDataService).persistEventData(any(JsonObject.class), any(JsonObject.class), any(JsonObject.class), any(JsonObject.class));
- when(simulatorConfigService.getConfiguration()).thenReturn(new SimulatorConfig(SAMPLE_ID, inDbVesUrl));
-
- simulatorService.triggerEvent(simulatorRequest);
-
- assertEventHasExpectedStructure(inDbVesUrl.toString(), templateName, SOME_CUSTOM_SOURCE);
- }
-
- @Test
- void shouldThrowJsonSyntaxWhenInvalidJson() {
- //given
- JsonObject patch = GSON.fromJson("{\n" +
- " \"event\": {\n" +
- " \"commonEventHeader\": {\n" +
- " \"sourceName\": \"" + SOME_CUSTOM_SOURCE + "\"\n" +
- " }\n" +
- " }\n" +
- "}\n", JsonObject.class);
- EventData eventData = EventData.builder().id("1").build();
-
- SimulatorParams simulatorParams = new SimulatorParams(VES_URL, 1, 1);
- SimulatorRequest simulatorRequest = new SimulatorRequest(simulatorParams,
- "invalidJsonStructureEvent.json", patch);
- doReturn(eventData).when(eventDataService).persistEventData(any(JsonObject.class), any(JsonObject.class), any(JsonObject.class), any(JsonObject.class));
-
- //when
- assertThrows(JsonSyntaxException.class,
- () -> simulatorService.triggerEvent(simulatorRequest));
- }
-
- @Test
- void shouldHandleNonExistingPatchSection() throws IOException, SchedulerException {
- String templateName = "validExampleMeasurementEvent.json";
- JsonObject nullPatch = null;
- SimulatorRequest simulatorRequest = new SimulatorRequest(
- new SimulatorParams("", 1, 1),
- templateName, nullPatch);
-
- URL inDbVesUrl = new URL("http://0.0.0.0:8080/eventListener/v6");
- doReturn(SAMPLE_EVENT).when(eventDataService).persistEventData(any(JsonObject.class), any(JsonObject.class), any(JsonObject.class), any(JsonObject.class));
- doReturn(new SimulatorConfig(SAMPLE_ID, inDbVesUrl)).when(simulatorConfigService).getConfiguration();
-
- simulatorService.triggerEvent(simulatorRequest);
-
- assertEventHasExpectedStructure(inDbVesUrl.toString(), templateName, CLOSED_LOOP_VNF);
- }
-
- @Test
- void shouldSuccessfullySendOneTimeEventWithVesUrlWhenPassed() throws MalformedURLException {
- SimulatorService spiedTestedService = spy(new SimulatorService(templatePatcher,templateReader, eventScheduler, eventDataService, simulatorConfigService));
-
- HttpClientAdapter adapterMock = mock(HttpClientAdapter.class);
- doNothing().when(adapterMock).send(eventContentCaptor.capture());
- doReturn(adapterMock).when(spiedTestedService).createHttpClientAdapter(any(String.class));
- FullEvent event = new FullEvent(VES_URL, VALID_FULL_EVENT);
-
- spiedTestedService.triggerOneTimeEvent(event);
-
- assertThat(eventContentCaptor.getValue()).isEqualTo(VALID_FULL_EVENT.toString());
- verify(eventDataService, times(1)).persistEventData(any(JsonObject.class), any(JsonObject.class), any(JsonObject.class), any(JsonObject.class));
- verify(adapterMock, times(1)).send(VALID_FULL_EVENT.toString());
- }
-
- @Test
- void shouldSubstituteKeywordsAndSuccessfullySendOneTimeEvent() throws MalformedURLException {
- SimulatorService spiedTestedService = spy(new SimulatorService(templatePatcher,templateReader, eventScheduler, eventDataService, simulatorConfigService));
-
- HttpClientAdapter adapterMock = mock(HttpClientAdapter.class);
- doNothing().when(adapterMock).send(eventContentCaptor.capture());
- doReturn(adapterMock).when(spiedTestedService).createHttpClientAdapter(any(String.class));
- FullEvent event = new FullEvent(VES_URL, FULL_EVENT_WITH_KEYWORDS);
-
- spiedTestedService.triggerOneTimeEvent(event);
-
- JsonObject sentContent = GSON.fromJson(eventContentCaptor.getValue(), JsonElement.class).getAsJsonObject();
- assertThat(sentContent.getAsJsonObject("event").getAsJsonObject("commonEventHeader").get("eventOrderNo").getAsString()).isEqualTo("1");
- assertThat(sentContent.getAsJsonObject("event").getAsJsonObject("commonEventHeader").get("eventName").getAsString()).hasSize(20);
- }
-
-
- private void assertEventHasExpectedStructure(String expectedVesUrl, String templateName, String sourceNameString) throws SchedulerException, MalformedURLException {
- verify(eventScheduler, times(1)).scheduleEvent(vesUrlCaptor.capture(), intervalCaptor.capture(),
- repeatCountCaptor.capture(), templateNameCaptor.capture(), eventIdCaptor.capture(), bodyCaptor.capture());
- assertThat(vesUrlCaptor.getValue()).isEqualTo(expectedVesUrl);
- assertThat(intervalCaptor.getValue()).isEqualTo(1);
- assertThat(repeatCountCaptor.getValue()).isEqualTo(1);
- assertThat(templateNameCaptor.getValue()).isEqualTo(templateName);
- String actualSourceName = GSON.fromJson(bodyCaptor.getValue(), JsonObject.class)
- .get("event").getAsJsonObject()
- .get("commonEventHeader").getAsJsonObject()
- .get("sourceName").getAsString();
- assertThat(actualSourceName).isEqualTo(sourceNameString);
- verify(eventDataService)
- .persistEventData(any(JsonObject.class), any(JsonObject.class), any(JsonObject.class),
- any(JsonObject.class));
- }
-}