diff --git a/pom.xml b/pom.xml
index b9d89f5..30ed14d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -189,31 +189,11 @@
powsybl-iidm-test
test
-
- com.squareup.okhttp3
- okhttp
- test
-
-
- com.squareup.okhttp3
- mockwebserver
- test
-
-
- junit
- junit
- test
-
org.assertj
assertj-guava
test
-
- org.junit.vintage
- junit-vintage-engine
- test
-
org.mockito
mockito-core
diff --git a/src/test/java/org/gridsuite/voltageinit/server/SupervisionControllerTest.java b/src/test/java/org/gridsuite/voltageinit/server/SupervisionControllerTest.java
index b5beb59..f51e389 100644
--- a/src/test/java/org/gridsuite/voltageinit/server/SupervisionControllerTest.java
+++ b/src/test/java/org/gridsuite/voltageinit/server/SupervisionControllerTest.java
@@ -6,35 +6,31 @@
*/
package org.gridsuite.voltageinit.server;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-import static org.junit.Assert.assertEquals;
-
/**
* @author Hugo Marcellin
*/
-@RunWith(SpringRunner.class)
@AutoConfigureMockMvc
@SpringBootTest
-public class SupervisionControllerTest {
+class SupervisionControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
- public void testResultCount() throws Exception {
+ void testResultCount() throws Exception {
//get the result timeline uuid of the calculation
MvcResult mvcResult = mockMvc.perform(get("/v1/supervision/results-count"))
.andExpect(status().isOk())
@@ -43,7 +39,6 @@ public void testResultCount() throws Exception {
String resultCount = mvcResult.getResponse().getContentAsString();
assertEquals("0", resultCount);
-
}
}
diff --git a/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java b/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java
index a9c2401..65cb554 100644
--- a/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java
+++ b/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java
@@ -7,6 +7,9 @@
package org.gridsuite.voltageinit.server;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.tomakehurst.wiremock.client.WireMock;
+import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
+import com.github.tomakehurst.wiremock.junit5.WireMockTest;
import com.powsybl.commons.PowsyblException;
import com.powsybl.computation.CompletableFutureTask;
import com.powsybl.computation.ComputationManager;
@@ -27,12 +30,6 @@
import com.powsybl.openreac.parameters.input.OpenReacParameters;
import com.powsybl.openreac.parameters.output.OpenReacResult;
import com.powsybl.openreac.parameters.output.OpenReacStatus;
-import lombok.SneakyThrows;
-import okhttp3.HttpUrl;
-import okhttp3.mockwebserver.Dispatcher;
-import okhttp3.mockwebserver.MockResponse;
-import okhttp3.mockwebserver.MockWebServer;
-import okhttp3.mockwebserver.RecordedRequest;
import org.gridsuite.voltageinit.server.dto.VoltageInitResult;
import org.gridsuite.voltageinit.server.dto.VoltageInitStatus;
import org.gridsuite.voltageinit.server.dto.parameters.FilterEquipments;
@@ -44,55 +41,55 @@
import org.gridsuite.voltageinit.server.service.UuidGeneratorService;
import org.gridsuite.voltageinit.server.service.parameters.FilterService;
import org.gridsuite.voltageinit.server.util.annotations.PostCompletionAdapter;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.gridsuite.voltageinit.utils.ContextConfigurationWithTestChannel;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.cloud.stream.binder.test.OutputDestination;
-import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration;
import org.springframework.http.MediaType;
import org.springframework.messaging.Message;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.ContextHierarchy;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.ForkJoinPool;
+import static com.github.tomakehurst.wiremock.client.WireMock.*;
import static com.powsybl.network.store.model.NetworkStoreApi.VERSION;
import static org.gridsuite.voltageinit.server.service.NotificationService.CANCEL_MESSAGE;
import static org.gridsuite.voltageinit.server.service.NotificationService.HEADER_USER_ID;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
/**
* @author Etienne Homer
*/
-@RunWith(SpringRunner.class)
+@ExtendWith({ MockitoExtension.class })
+@WireMockTest
@AutoConfigureMockMvc
+@ContextConfigurationWithTestChannel
@SpringBootTest
-@ContextHierarchy({@ContextConfiguration(classes = {VoltageInitApplication.class, TestChannelBinderConfiguration.class})})
-public class VoltageInitControllerTest {
-
+class VoltageInitControllerTest {
private static final UUID NETWORK_UUID = UUID.fromString("7928181c-7977-4592-ba19-88027e4254e4");
private static final UUID OTHER_NETWORK_UUID = UUID.fromString("06824085-db85-4883-9458-8c5c9f1585d6");
private static final UUID RESULT_UUID = UUID.fromString("0c8de370-3e6c-4d72-b292-d355a97e0d5d");
@@ -130,21 +127,15 @@ public class VoltageInitControllerTest {
@MockBean
private UuidGeneratorService uuidGeneratorService;
- private final RestTemplateConfig restTemplateConfig = new RestTemplateConfig();
- private final ObjectMapper mapper = restTemplateConfig.objectMapper();
+ @Autowired
+ private ObjectMapper mapper;
private Network network;
- private Network network1;
- private Network networkForMergingView;
- private Network otherNetworkForMergingView;
- OpenReacParameters openReacParameters;
- OpenReacResult openReacResult;
- CompletableFutureTask completableFutureResultsTask;
+ private OpenReacResult openReacResult;
+ private CompletableFutureTask completableFutureResultsTask;
- private MockWebServer server;
-
- private OpenReacResult buildOpenReacResult() {
- OpenReacAmplIOFiles openReacAmplIOFiles = new OpenReacAmplIOFiles(openReacParameters, network, false);
+ private void buildOpenReacResult() {
+ OpenReacAmplIOFiles openReacAmplIOFiles = new OpenReacAmplIOFiles(new OpenReacParameters(), network, false);
GeneratorModification.Modifs m1 = new GeneratorModification.Modifs();
m1.setTargetV(228.);
@@ -161,10 +152,9 @@ private OpenReacResult buildOpenReacResult() {
openReacAmplIOFiles.getNetworkModifications().getShuntModifications().add(new ShuntCompensatorModification("SHUNT_1", true, 1));
openReacResult = new OpenReacResult(OpenReacStatus.OK, openReacAmplIOFiles, INDICATORS);
- return openReacResult;
}
- private VoltageInitParametersEntity buildVoltageInitParametersEntity() {
+ private static VoltageInitParametersEntity buildVoltageInitParametersEntity() {
return VoltageInitParametersInfos.builder()
.voltageLimitsModification(List.of(VoltageLimitInfos.builder()
.priority(0)
@@ -199,17 +189,10 @@ private VoltageInitParametersEntity buildVoltageInitParametersEntity() {
.build().toEntity();
}
- @Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
-
- server = new MockWebServer();
- server.start();
-
- HttpUrl baseHttpUrl = server.url("");
- String baseUrl = baseHttpUrl.toString().substring(0, baseHttpUrl.toString().length() - 1);
- networkModificationService.setNetworkModificationServerBaseUri(baseUrl);
- filterService.setFilterServerBaseUri(baseUrl);
+ @BeforeEach
+ public void setUp(final WireMockRuntimeInfo wmRuntimeInfo) {
+ networkModificationService.setNetworkModificationServerBaseUri(wmRuntimeInfo.getHttpBaseUrl());
+ filterService.setFilterServerBaseUri(wmRuntimeInfo.getHttpBaseUrl());
// network store service mocking
network = EurostagTutorialExample1Factory.createWithMoreGenerators(new NetworkFactoryImpl());
@@ -221,38 +204,18 @@ public void setUp() throws Exception {
given(networkStoreService.getNetwork(NETWORK_UUID, PreloadingStrategy.COLLECTION)).willReturn(network);
given(networkStoreService.getNetwork(OTHER_NETWORK_UUID, PreloadingStrategy.ALL_COLLECTIONS_NEEDED_FOR_BUS_VIEW)).willThrow(new PowsyblException("Not found"));
- network1 = EurostagTutorialExample1Factory.createWithMoreGenerators(new NetworkFactoryImpl());
- network1.getVariantManager().cloneVariant(VariantManagerConstants.INITIAL_VARIANT_ID, VARIANT_2_ID);
-
// OpenReac run mocking
- openReacParameters = new OpenReacParameters();
- openReacResult = buildOpenReacResult();
-
+ buildOpenReacResult();
completableFutureResultsTask = CompletableFutureTask.runAsync(() -> openReacResult, ForkJoinPool.commonPool());
// UUID service mocking to always generate the same result UUID
given(uuidGeneratorService.generate()).willReturn(RESULT_UUID);
- final Dispatcher dispatcher = new Dispatcher() {
- @SneakyThrows
- @Override
- public MockResponse dispatch(RecordedRequest request) {
- String path = Objects.requireNonNull(request.getPath());
-
- if (path.matches("/v1/groups/.*") && request.getMethod().equals("DELETE")) {
- return new MockResponse().setResponseCode(200)
- .addHeader("Content-Type", "application/json; charset=utf-8");
- } else if (path.matches("/v1/groups/modification") && request.getMethod().equals("POST")) {
- return new MockResponse().setResponseCode(200).setBody("\"" + MODIFICATIONS_GROUP_UUID + "\"")
- .addHeader("Content-Type", "application/json; charset=utf-8");
- } else if (path.matches("/v1/filters/export\\?networkUuid=" + NETWORK_UUID + "&variantId=" + VARIANT_2_ID + "&ids=.*")) {
- return new MockResponse().setResponseCode(200).setBody(FILTER_EQUIPMENT_JSON)
- .addHeader("Content-Type", "application/json; charset=utf-8");
- }
- return new MockResponse().setResponseCode(418);
- }
- };
- server.setDispatcher(dispatcher);
+ final WireMock server = wmRuntimeInfo.getWireMock();
+ server.register(WireMock.delete(urlPathMatching("/v1/groups/.+")).willReturn(okJson("")));
+ server.register(WireMock.post(urlPathEqualTo("/v1/groups/modification")).willReturn(okJson("\"" + MODIFICATIONS_GROUP_UUID + "\"")));
+ server.register(WireMock.any(urlMatching("/v1/filters/export\\?networkUuid=" + NETWORK_UUID + "&variantId=" + VARIANT_2_ID + "&ids=.+")).willReturn(okJson(FILTER_EQUIPMENT_JSON)));
+ server.register(WireMock.any(WireMock.anyUrl()).atPriority(Integer.MAX_VALUE).willReturn(WireMock.serviceUnavailable()));
// purge messages
while (output.receive(1000, "voltageinit.result") != null) {
@@ -268,15 +231,14 @@ public MockResponse dispatch(RecordedRequest request) {
}
}
- @SneakyThrows
- @After
- public void tearDown() {
+ @AfterEach
+ public void tearDown() throws Exception {
mockMvc.perform(delete("/" + VERSION + "/results"))
.andExpect(status().isOk());
}
@Test
- public void runTest() throws Exception {
+ void runTest() throws Exception {
try (MockedStatic openReacRunnerMockedStatic = Mockito.mockStatic(OpenReacRunner.class)) {
openReacRunnerMockedStatic.when(() -> OpenReacRunner.runAsync(eq(network), eq(VARIANT_2_ID), any(OpenReacParameters.class), any(OpenReacConfig.class), any(ComputationManager.class)))
.thenReturn(completableFutureResultsTask);
@@ -339,7 +301,7 @@ public void runTest() throws Exception {
}
@Test
- public void runWrongNetworkTest() throws Exception {
+ void runWrongNetworkTest() throws Exception {
MvcResult result = mockMvc.perform(post(
"/" + VERSION + "/networks/{networkUuid}/run-and-save?receiver=me&variantId=" + VARIANT_2_ID, OTHER_NETWORK_UUID)
.header(HEADER_USER_ID, "userId"))
@@ -360,7 +322,7 @@ public void runWrongNetworkTest() throws Exception {
}
@Test
- public void runWithReportTest() throws Exception {
+ void runWithReportTest() throws Exception {
MvcResult result = mockMvc.perform(post(
"/" + VERSION + "/networks/{networkUuid}/run-and-save?receiver=me&variantId={variantId}&reportType=VoltageInit&reportUuid=" + REPORT_UUID + "&reporterId=" + UUID.randomUUID(), NETWORK_UUID, VARIANT_2_ID)
.header(HEADER_USER_ID, "userId"))
@@ -370,7 +332,7 @@ public void runWithReportTest() throws Exception {
}
@Test
- public void stopTest() throws Exception {
+ void stopTest() throws Exception {
try (MockedStatic openReacRunnerMockedStatic = Mockito.mockStatic(OpenReacRunner.class)) {
openReacRunnerMockedStatic.when(() -> OpenReacRunner.runAsync(eq(network), eq(VARIANT_2_ID), any(OpenReacParameters.class), any(OpenReacConfig.class), any(ComputationManager.class)))
.thenReturn(completableFutureResultsTask);
@@ -396,9 +358,8 @@ public void stopTest() throws Exception {
}
}
- @SneakyThrows
@Test
- public void getStatusTest() {
+ void getStatusTest() throws Exception {
MvcResult result = mockMvc.perform(get(
"/" + VERSION + "/results/{resultUuid}/status", RESULT_UUID))
.andExpect(status().isOk())
@@ -416,9 +377,8 @@ public void getStatusTest() {
assertEquals(VoltageInitStatus.NOT_DONE.name(), result.getResponse().getContentAsString());
}
- @SneakyThrows
@Test
- public void postCompletionAdapterTest() {
+ void postCompletionAdapterTest() {
CompletableFutureTask task = CompletableFutureTask.runAsync(() -> openReacResult, ForkJoinPool.commonPool());
PostCompletionAdapter adapter = new PostCompletionAdapter();
adapter.execute(task);
diff --git a/src/test/java/org/gridsuite/voltageinit/server/VoltageInitParametersTest.java b/src/test/java/org/gridsuite/voltageinit/server/VoltageInitParametersTest.java
index a7542ce..0edd68b 100644
--- a/src/test/java/org/gridsuite/voltageinit/server/VoltageInitParametersTest.java
+++ b/src/test/java/org/gridsuite/voltageinit/server/VoltageInitParametersTest.java
@@ -30,21 +30,18 @@
import org.gridsuite.voltageinit.server.entities.parameters.VoltageLimitEntity;
import org.gridsuite.voltageinit.server.repository.parameters.VoltageInitParametersRepository;
import org.gridsuite.voltageinit.server.service.VoltageInitRunContext;
-import org.gridsuite.voltageinit.server.service.VoltageInitService;
import org.gridsuite.voltageinit.server.service.VoltageInitWorkerService;
import org.gridsuite.voltageinit.server.service.parameters.FilterService;
import org.gridsuite.voltageinit.server.service.parameters.VoltageInitParametersService;
import org.gridsuite.voltageinit.server.util.VoltageLimitParameterType;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.transaction.annotation.Transactional;
@@ -60,14 +57,11 @@
/**
* @author Ayoub LABIDI
*/
-@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
@Transactional
-public class VoltageInitParametersTest {
-
+class VoltageInitParametersTest {
private static final String URI_PARAMETERS_BASE = "/v1/parameters";
-
private static final String URI_PARAMETERS_GET_PUT = URI_PARAMETERS_BASE + "/";
private static final UUID NETWORK_UUID = UUID.fromString("7928181c-7977-4592-ba19-88027e4254e4");
@@ -80,16 +74,13 @@ public class VoltageInitParametersTest {
private Network network;
@Autowired
- VoltageInitService voltageInitService;
+ private VoltageInitParametersService voltageInitParametersService;
@Autowired
- VoltageInitParametersService voltageInitParametersService;
+ private MockMvc mockMvc;
@Autowired
- protected MockMvc mockMvc;
-
- @Autowired
- protected ObjectMapper mapper;
+ private ObjectMapper mapper;
@Autowired
private VoltageInitParametersRepository parametersRepository;
@@ -100,7 +91,7 @@ public class VoltageInitParametersTest {
@MockBean
private FilterService filterService;
- @Before
+ @BeforeEach
public void setup() {
network = EurostagTutorialExample1Factory.create(new NetworkFactoryImpl());
network.getVariantManager().cloneVariant(VariantManagerConstants.INITIAL_VARIANT_ID, VARIANT_ID_1);
@@ -130,13 +121,13 @@ public void setup() {
parametersRepository.deleteAll();
}
- @After
+ @AfterEach
public void tearOff() {
parametersRepository.deleteAll();
}
@Test
- public void testCreate() throws Exception {
+ void testCreate() throws Exception {
VoltageInitParametersInfos parametersToCreate = buildParameters();
String parametersToCreateJson = mapper.writeValueAsString(parametersToCreate);
@@ -150,7 +141,7 @@ public void testCreate() throws Exception {
}
@Test
- public void testRead() throws Exception {
+ void testRead() throws Exception {
VoltageInitParametersInfos parametersToRead = buildParameters();
@@ -166,7 +157,7 @@ public void testRead() throws Exception {
}
@Test
- public void testUpdate() throws Exception {
+ void testUpdate() throws Exception {
VoltageInitParametersInfos parametersToUpdate = buildParameters();
@@ -185,7 +176,7 @@ public void testUpdate() throws Exception {
}
@Test
- public void testDelete() throws Exception {
+ void testDelete() throws Exception {
VoltageInitParametersInfos parametersToDelete = buildParameters();
@@ -199,7 +190,7 @@ public void testDelete() throws Exception {
}
@Test
- public void testGetAll() throws Exception {
+ void testGetAll() throws Exception {
VoltageInitParametersInfos parameters1 = buildParameters();
VoltageInitParametersInfos parameters2 = buildParametersUpdate();
@@ -218,7 +209,7 @@ public void testGetAll() throws Exception {
}
@Test
- public void testDuplicate() throws Exception {
+ void testDuplicate() throws Exception {
VoltageInitParametersInfos parametersToCreate = buildParameters();
String parametersToCreateJson = mapper.writeValueAsString(parametersToCreate);
@@ -300,7 +291,7 @@ protected VoltageInitParametersInfos buildParametersUpdate() {
}
@Test
- public void testBuildSpecificVoltageLimits() {
+ void testBuildSpecificVoltageLimits() {
VoltageLimitEntity voltageLimit = new VoltageLimitEntity(UUID.randomUUID(), 5., 10., 0, VoltageLimitParameterType.DEFAULT, List.of(new FilterEquipmentsEmbeddable(FILTER_UUID_1, FILTER_1)));
VoltageLimitEntity voltageLimit2 = new VoltageLimitEntity(UUID.randomUUID(), 44., 88., 1, VoltageLimitParameterType.DEFAULT, List.of(new FilterEquipmentsEmbeddable(FILTER_UUID_2, FILTER_2)));
@@ -310,7 +301,7 @@ public void testBuildSpecificVoltageLimits() {
OpenReacParameters openReacParameters = voltageInitParametersService.buildOpenReacParameters(context, network);
assertEquals(4, openReacParameters.getSpecificVoltageLimits().size());
//No override should be relative since there are no voltage limit modification
- assertThat(openReacParameters.getSpecificVoltageLimits().stream().allMatch(voltageLimitOverride -> !voltageLimitOverride.isRelative())).isTrue();
+ assertThat(openReacParameters.getSpecificVoltageLimits().stream().noneMatch(VoltageLimitOverride::isRelative)).isTrue();
//VLHV1, VLHV2 and VLLOAD should be applied default voltage limits since those are missing one or both limits
assertThat(openReacParameters.getSpecificVoltageLimits().stream().anyMatch(voltageLimitOverride -> "VLHV1".equals(voltageLimitOverride.getVoltageLevelId()))).isTrue();
assertEquals(1, openReacParameters.getSpecificVoltageLimits().stream().filter(voltageLimitOverride -> "VLHV1".equals(voltageLimitOverride.getVoltageLevelId()) && VoltageLimitOverride.VoltageLimitType.LOW_VOLTAGE_LIMIT.equals(voltageLimitOverride.getVoltageLimitType())).count());
@@ -330,7 +321,7 @@ public void testBuildSpecificVoltageLimits() {
context = new VoltageInitRunContext(NETWORK_UUID, VARIANT_ID_1, null, null, null, "", "", parametersRepository.findAll().get(1).getId(), new HashMap<>());
openReacParameters = voltageInitParametersService.buildOpenReacParameters(context, network);
//There should nox be relative overrides since voltage limit modification are applied
- assertThat(openReacParameters.getSpecificVoltageLimits().stream().allMatch(voltageLimitOverride -> !voltageLimitOverride.isRelative())).isFalse();
+ assertThat(openReacParameters.getSpecificVoltageLimits().stream().noneMatch(VoltageLimitOverride::isRelative)).isFalse();
//Limits that weren't impacted by default settings are now impacted by modification settings
assertEquals(8, openReacParameters.getSpecificVoltageLimits().size());
//VLGEN has both it limits set so it should now be impacted by modifications override
@@ -365,7 +356,7 @@ public void testBuildSpecificVoltageLimits() {
}
@Test
- public void testAddRestrictedVoltageLevelReport() {
+ void testAddRestrictedVoltageLevelReport() {
Map restrictedVoltageLevel = new HashMap<>();
restrictedVoltageLevel.put("vl", 10.0);
ReporterModel reporter = new ReporterModel("test", "test");
@@ -381,4 +372,3 @@ public void testAddRestrictedVoltageLevelReport() {
assertEquals("WARN", typedValues.map(value -> value.getValue().getValue()).get());
}
}
-
diff --git a/src/test/java/org/gridsuite/voltageinit/service/ReportServiceTest.java b/src/test/java/org/gridsuite/voltageinit/service/ReportServiceTest.java
index ab1f996..fa31bf3 100644
--- a/src/test/java/org/gridsuite/voltageinit/service/ReportServiceTest.java
+++ b/src/test/java/org/gridsuite/voltageinit/service/ReportServiceTest.java
@@ -6,101 +6,82 @@
*/
package org.gridsuite.voltageinit.service;
-import com.github.tomakehurst.wiremock.WireMockServer;
-import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
import com.github.tomakehurst.wiremock.client.WireMock;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.*;
-
+import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
+import com.github.tomakehurst.wiremock.junit5.WireMockTest;
import com.powsybl.commons.reporter.Reporter;
import com.powsybl.commons.reporter.ReporterModel;
import org.gridsuite.voltageinit.server.service.ReportService;
import org.gridsuite.voltageinit.utils.ContextConfigurationWithTestChannel;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.*;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
-import static org.gridsuite.voltageinit.utils.TestUtils.resourceToString;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.*;
-
-import java.io.IOException;
import java.net.URI;
import java.util.UUID;
+import static com.github.tomakehurst.wiremock.client.WireMock.*;
+import static org.gridsuite.voltageinit.utils.TestUtils.resourceToString;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
/**
* @author Anis TOURI
*/
+@WireMockTest
@SpringBootTest
-@RunWith(SpringRunner.class)
@ContextConfigurationWithTestChannel
-public class ReportServiceTest {
-
+class ReportServiceTest {
private static final UUID REPORT_UUID = UUID.fromString("7928181c-7977-4592-ba19-88027e4254e4");
- private static final String BASE_URI = "http://localhost:";
- private static final String REPORT_API_VERSION = "/v1";
- private static final String DELIMITER = "/";
-
- private WireMockServer server;
+ private static final String REPORT_API_VERSION = "v1";
@Autowired
private ReportService reportService;
@MockBean
private RestTemplate restTemplate;
+ private URI baseUrl;
- private void configureWireMockServer(String reportJson) {
+ private void configureStubReports(final WireMock server) throws Exception {
server.stubFor(get(urlEqualTo("/v1/reports/" + REPORT_UUID))
.willReturn(aResponse()
.withStatus(HttpStatus.OK.value())
- .withBody(reportJson)));
-
- }
-
- @Before
- public void setUp() throws IOException {
- String reportJson = resourceToString("/report.json");
- server = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort());
- server.start();
- WireMock.configureFor("localhost", server.port());
-
- configureWireMockServer(reportJson);
-
- reportService.setReportServiceBaseUri("http://localhost:" + server.port());
+ .withBody(resourceToString("/report.json"))));
}
- @After
- public void tearDown() {
- server.stop();
+ @BeforeEach
+ public void setUp(final WireMockRuntimeInfo wmRuntimeInfo) throws Exception {
+ configureStubReports(wmRuntimeInfo.getWireMock());
+ reportService.setReportServiceBaseUri(wmRuntimeInfo.getHttpBaseUrl());
+ this.baseUrl = URI.create(wmRuntimeInfo.getHttpBaseUrl());
}
@Test
- public void testSendReport() {
+ void testSendReport() {
Reporter reporter = new ReporterModel("test", "test");
- URI expectedUri = UriComponentsBuilder
- .fromPath(DELIMITER + REPORT_API_VERSION + "/reports/{reportUuid}")
+ URI expectedUri = UriComponentsBuilder.fromUri(baseUrl)
+ .pathSegment(REPORT_API_VERSION)
+ .path("/reports/{reportUuid}")
.build(REPORT_UUID);
reportService.sendReport(REPORT_UUID, reporter);
- verify(restTemplate, times(1)).put(eq(BASE_URI + server.port() + expectedUri), eq(reporter));
+ verify(restTemplate, times(1)).put(expectedUri.toString(), reporter);
}
@Test
- public void testDeleteReport() {
+ void testDeleteReport() {
reportService.deleteReport(REPORT_UUID, "VoltageInit");
- URI expectedUri = UriComponentsBuilder
- .fromPath(DELIMITER + REPORT_API_VERSION + "/reports/{reportUuid}")
+ URI expectedUri = UriComponentsBuilder.fromUri(baseUrl)
+ .pathSegment(REPORT_API_VERSION)
+ .path("/reports/{reportUuid}")
.queryParam("reportTypeFilter", "VoltageInit")
.queryParam("errorOnReportNotFound", false)
.build(REPORT_UUID);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
- verify(restTemplate, times(1)).exchange(eq(BASE_URI + server.port() + expectedUri), eq(HttpMethod.DELETE), eq(new HttpEntity<>(headers)), eq(Void.class));
+ verify(restTemplate, times(1)).exchange(expectedUri.toString(), HttpMethod.DELETE, new HttpEntity<>(headers), Void.class);
}
}