diff --git a/pom.xml b/pom.xml index 8d0f6efee..a048bace8 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,7 @@ 3.7.1 1.16.2 org.gridsuite.modification.server + 3.24.2 @@ -86,6 +87,18 @@ + + org.assertj + assertj-core + ${assertj.version} + test + + + org.assertj + assertj-guava + ${assertj.version} + test + @@ -220,6 +233,11 @@ junit test + + org.assertj + assertj-guava + test + org.junit.vintage diff --git a/src/main/java/org/gridsuite/modification/server/dto/CurrentLimitsInfos.java b/src/main/java/org/gridsuite/modification/server/dto/CurrentLimitsInfos.java index 7c49e6f69..8f5450529 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/CurrentLimitsInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/CurrentLimitsInfos.java @@ -25,7 +25,7 @@ @NoArgsConstructor @Getter @Setter -@ToString(callSuper = true) +@ToString @Schema(description = "Current Limits") public class CurrentLimitsInfos { diff --git a/src/main/java/org/gridsuite/modification/server/dto/CurrentTemporaryLimitCreationInfos.java b/src/main/java/org/gridsuite/modification/server/dto/CurrentTemporaryLimitCreationInfos.java index 674422b20..85bceaef9 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/CurrentTemporaryLimitCreationInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/CurrentTemporaryLimitCreationInfos.java @@ -17,6 +17,7 @@ @AllArgsConstructor @NoArgsConstructor @Getter +@ToString @JsonInclude(JsonInclude.Include.NON_NULL) public class CurrentTemporaryLimitCreationInfos { diff --git a/src/main/java/org/gridsuite/modification/server/dto/FilterInfos.java b/src/main/java/org/gridsuite/modification/server/dto/FilterInfos.java index b10f29d09..5515d3835 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/FilterInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/FilterInfos.java @@ -7,10 +7,7 @@ package org.gridsuite.modification.server.dto; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; +import lombok.*; import lombok.experimental.SuperBuilder; import org.gridsuite.modification.server.entities.equipment.modification.VariationFilterEntity; @@ -24,6 +21,7 @@ @AllArgsConstructor @Getter @Setter +@ToString @Schema(description = "Filter Infos") public class FilterInfos { diff --git a/src/main/java/org/gridsuite/modification/server/dto/ScalingVariationInfos.java b/src/main/java/org/gridsuite/modification/server/dto/ScalingVariationInfos.java index ebae91781..a38247952 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/ScalingVariationInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/ScalingVariationInfos.java @@ -26,7 +26,7 @@ @NoArgsConstructor @Getter @Setter -@ToString(callSuper = true) +@ToString @Schema(description = "Scaling creation") public class ScalingVariationInfos { diff --git a/src/main/java/org/gridsuite/modification/server/dto/TapChangerCreationInfos.java b/src/main/java/org/gridsuite/modification/server/dto/TapChangerCreationInfos.java index 80c842313..d81f55398 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/TapChangerCreationInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/TapChangerCreationInfos.java @@ -22,7 +22,7 @@ @NoArgsConstructor @Getter @Setter -@ToString(callSuper = true) +@ToString @Schema(description = "TapChanger attributes") public class TapChangerCreationInfos { diff --git a/src/main/java/org/gridsuite/modification/server/dto/TapChangerStepCreationInfos.java b/src/main/java/org/gridsuite/modification/server/dto/TapChangerStepCreationInfos.java index 26de4df34..778f29f81 100644 --- a/src/main/java/org/gridsuite/modification/server/dto/TapChangerStepCreationInfos.java +++ b/src/main/java/org/gridsuite/modification/server/dto/TapChangerStepCreationInfos.java @@ -18,7 +18,7 @@ @NoArgsConstructor @Getter @Setter -@ToString(callSuper = true) +@ToString @JsonInclude(JsonInclude.Include.NON_NULL) public class TapChangerStepCreationInfos { diff --git a/src/test/java/org/gridsuite/modification/server/Impacts/ElementImpactTest.java b/src/test/java/org/gridsuite/modification/server/Impacts/ElementImpactTest.java index 72b3efc72..057de8b16 100644 --- a/src/test/java/org/gridsuite/modification/server/Impacts/ElementImpactTest.java +++ b/src/test/java/org/gridsuite/modification/server/Impacts/ElementImpactTest.java @@ -8,14 +8,15 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.powsybl.iidm.network.IdentifiableType; -import lombok.SneakyThrows; import nl.jqno.equalsverifier.EqualsVerifier; import org.gridsuite.modification.server.dto.NetworkModificationResult; import org.gridsuite.modification.server.dto.NetworkModificationResult.ApplicationStatus; import org.gridsuite.modification.server.impacts.SimpleElementImpact; import org.gridsuite.modification.server.utils.TestUtils; import org.junit.Test; +import org.junit.jupiter.api.Tag; +import java.io.IOException; import java.util.Collection; import java.util.HashSet; import java.util.List; @@ -27,13 +28,12 @@ /** * @author Slimane Amar */ +@Tag("UnitTest") public class ElementImpactTest { - - ObjectMapper mapper = new ObjectMapper(); + private ObjectMapper mapper = new ObjectMapper(); @Test - @SneakyThrows - public void testElementImpact() { + public void testElementImpact() throws IOException { EqualsVerifier.simple().forClass(NetworkModificationResult.class).verify(); EqualsVerifier.simple().forClass(SimpleElementImpact.class).verify(); diff --git a/src/test/java/org/gridsuite/modification/server/Impacts/TestImpactUtils.java b/src/test/java/org/gridsuite/modification/server/Impacts/TestImpactUtils.java index c4ab628d6..65927362a 100644 --- a/src/test/java/org/gridsuite/modification/server/Impacts/TestImpactUtils.java +++ b/src/test/java/org/gridsuite/modification/server/Impacts/TestImpactUtils.java @@ -6,24 +6,20 @@ */ package org.gridsuite.modification.server.Impacts; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.powsybl.iidm.network.IdentifiableType; -import lombok.SneakyThrows; import org.apache.commons.lang3.tuple.Pair; import org.gridsuite.modification.server.dto.NetworkModificationResult; import org.gridsuite.modification.server.dto.NetworkModificationResult.ApplicationStatus; import org.gridsuite.modification.server.impacts.SimpleElementImpact; import org.gridsuite.modification.server.impacts.SimpleElementImpact.SimpleImpactType; -import org.gridsuite.modification.server.utils.MatcherJson; -import org.hamcrest.MatcherAssert; -import org.skyscreamer.jsonassert.JSONAssert; -import org.skyscreamer.jsonassert.JSONCompareMode; import java.util.*; import java.util.stream.Collectors; -import static org.hamcrest.MatcherAssert.assertThat; +import static org.gridsuite.modification.server.utils.assertions.Assertions.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -31,14 +27,11 @@ * @author Slimane Amar */ public final class TestImpactUtils { - private TestImpactUtils() { } - @SneakyThrows - public static void testEmptyImpacts(ObjectMapper mapper, String resultAsString) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + public static void testEmptyImpacts(ObjectMapper mapper, String resultAsString) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); testEmptyImpacts(mapper, networkModificationResult.get()); } @@ -56,14 +49,11 @@ private static void testEmptyImpacts(ObjectMapper mapper, ApplicationStatus appl .applicationStatus(applicationStatusExpected) .networkImpacts(List.of()) .build(); - - MatcherAssert.assertThat(networkModificationResult, new MatcherJson<>(mapper, resultExpected)); + assertThat(networkModificationResult).recursivelyEquals(resultExpected); } - @SneakyThrows - public static void testElementImpacts(ObjectMapper mapper, String resultAsString, int nbImpacts, Set substationIds) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + public static void testElementImpacts(ObjectMapper mapper, String resultAsString, int nbImpacts, Set substationIds) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); assertEquals(ApplicationStatus.ALL_OK, networkModificationResult.get().getApplicationStatus()); @@ -71,54 +61,48 @@ public static void testElementImpacts(ObjectMapper mapper, String resultAsString assertEquals(nbImpacts, networkModificationResult.get().getNetworkImpacts().size()); } - @SneakyThrows - public static void testElementImpacts(ObjectMapper mapper, String resultAsString, List elementImpactsExpected) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + public static void testElementImpacts(ObjectMapper mapper, String resultAsString, List elementImpactsExpected) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); NetworkModificationResult resultExpected = NetworkModificationResult.builder() .applicationStatus(ApplicationStatus.ALL_OK) .networkImpacts(elementImpactsExpected) .build(); - JSONAssert.assertEquals(mapper.writeValueAsString(resultExpected), resultAsString, JSONCompareMode.NON_EXTENSIBLE); + assertThat(networkModificationResult.get()).recursivelyEquals(resultExpected); } - public static void testElementCreationImpact(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) { + public static void testElementCreationImpact(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) throws JsonProcessingException { testElementImpact(SimpleImpactType.CREATION, mapper, resultAsString, elementType, elementId, substationIds); } - public static void testElementModificationImpact(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) { + public static void testElementModificationImpact(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) throws JsonProcessingException { testElementImpact(SimpleImpactType.MODIFICATION, mapper, resultAsString, elementType, elementId, substationIds); } - public static void testElementDeletionImpact(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) { + public static void testElementDeletionImpact(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) throws JsonProcessingException { testElementImpact(SimpleImpactType.DELETION, mapper, resultAsString, elementType, elementId, substationIds); } - @SneakyThrows - public static void testElementImpact(SimpleImpactType impactType, ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + public static void testElementImpact(SimpleImpactType impactType, ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); NetworkModificationResult resultExpected = NetworkModificationResult.builder() .applicationStatus(ApplicationStatus.ALL_OK) - .networkImpacts(List.of(createElementImpact(impactType, elementType, elementId, new TreeSet<>(substationIds)))) + .networkImpacts(List.of(createElementImpact(impactType, elementType, elementId, new HashSet<>(substationIds)))) .build(); - assertThat(networkModificationResult.get(), new MatcherJson<>(mapper, resultExpected)); + assertThat(networkModificationResult.get()).recursivelyEquals(resultExpected); } - @SneakyThrows public static void testConnectableDeletionImpacts(ObjectMapper mapper, String resultAsString, IdentifiableType connectableType, String connectableId, - String breakerId, String disconnectorId, String substationId) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + String breakerId, String disconnectorId, String substationId) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); NetworkModificationResult resultExpected = NetworkModificationResult.builder() .applicationStatus(ApplicationStatus.ALL_OK) .networkImpacts(createConnectableDeletionImpacts(connectableType, connectableId, breakerId, disconnectorId, substationId)) .build(); - assertThat(networkModificationResult.get(), new MatcherJson<>(mapper, resultExpected)); + assertThat(networkModificationResult.get()).recursivelyEquals(resultExpected); } private static List createConnectableDeletionImpacts(IdentifiableType connectableType, String connectableId, @@ -130,16 +114,14 @@ private static List createConnectableDeletionImpacts(Identi ); } - @SneakyThrows public static void testBranchCreationImpacts(ObjectMapper mapper, String resultAsString, IdentifiableType branchType, String branchId, String breakerId1, String disconnectorId1, String substationId1, - String breakerId2, String disconnectorId2, String substationId2) { + String breakerId2, String disconnectorId2, String substationId2) throws JsonProcessingException { testBranchImpacts(mapper, SimpleImpactType.CREATION, resultAsString, branchType, branchId, breakerId1, disconnectorId1, substationId1, breakerId2, disconnectorId2, substationId2); } - @SneakyThrows - public static void testBranchCreationImpacts(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) { + public static void testBranchCreationImpacts(ObjectMapper mapper, String resultAsString, IdentifiableType elementType, String elementId, Set substationIds) throws JsonProcessingException { List impacts = List.of( createElementImpact(SimpleImpactType.CREATION, elementType, elementId, new TreeSet<>(substationIds)), createElementImpact(SimpleImpactType.MODIFICATION, elementType, elementId, new TreeSet<>(substationIds)) // case with newCurrentLimits1 @@ -147,33 +129,30 @@ public static void testBranchCreationImpacts(ObjectMapper mapper, String resultA testElementImpacts(mapper, resultAsString, impacts); } - @SneakyThrows public static void testBranchDeletionImpacts(ObjectMapper mapper, String resultAsString, IdentifiableType branchType, String branchId, String breakerId1, String disconnectorId1, String substationId1, - String breakerId2, String disconnectorId2, String substationId2) { + String breakerId2, String disconnectorId2, String substationId2) throws JsonProcessingException { testBranchImpacts(mapper, SimpleImpactType.DELETION, resultAsString, branchType, branchId, breakerId1, disconnectorId1, substationId1, breakerId2, disconnectorId2, substationId2); } - @SneakyThrows public static void testBranchImpacts(ObjectMapper mapper, SimpleImpactType impactType, String resultAsString, IdentifiableType branchType, String branchId, String breakerId1, String disconnectorId1, String substationId1, - String breakerId2, String disconnectorId2, String substationId2) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + String breakerId2, String disconnectorId2, String substationId2) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); NetworkModificationResult resultExpected = NetworkModificationResult.builder() .applicationStatus(ApplicationStatus.ALL_OK) .networkImpacts(createBranchImpacts(impactType, branchType, branchId, breakerId1, disconnectorId1, substationId1, breakerId2, disconnectorId2, substationId2)) .build(); - assertThat(networkModificationResult.get(), new MatcherJson<>(mapper, resultExpected)); + assertThat(networkModificationResult.get()).recursivelyEquals(resultExpected); } private static List createBranchImpacts(SimpleImpactType impactType, IdentifiableType branchType, String branchId, String breakerId1, String disconnectorId1, String substationId1, String breakerId2, String disconnectorId2, String substationId2) { - LinkedList impacts = new LinkedList<>(List.of(createElementImpact(impactType, branchType, branchId, new TreeSet<>(List.of(substationId1, substationId2))))); + LinkedList impacts = new LinkedList<>(List.of(createElementImpact(impactType, branchType, branchId, new HashSet<>(List.of(substationId1, substationId2))))); List switchImpacts = List.of( createElementImpact(impactType, IdentifiableType.SWITCH, breakerId1, Set.of(substationId1)), createElementImpact(impactType, IdentifiableType.SWITCH, disconnectorId1, Set.of(substationId1)), @@ -189,20 +168,18 @@ private static List createBranchImpacts(SimpleImpactType im return impacts; } - @SneakyThrows public static void test3WTDeletionImpacts(ObjectMapper mapper, String resultAsString, String w3tId, String breakerId1, String disconnectorId1, String breakerId2, String disconnectorId2, String breakerId3, String disconnectorId3, - String substationId) { - Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { - }); + String substationId) throws JsonProcessingException { + Optional networkModificationResult = mapper.readValue(resultAsString, new TypeReference<>() { }); assertTrue(networkModificationResult.isPresent()); NetworkModificationResult resultExpected = NetworkModificationResult.builder() .applicationStatus(ApplicationStatus.ALL_OK) .networkImpacts(create3wtDeletionImpacts(w3tId, breakerId1, disconnectorId1, breakerId2, disconnectorId2, breakerId3, disconnectorId3, substationId)) .build(); - assertThat(networkModificationResult.get(), new MatcherJson<>(mapper, resultExpected)); + assertThat(networkModificationResult.get()).recursivelyEquals(resultExpected); } private static List create3wtDeletionImpacts(String w3tId, diff --git a/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java b/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java index 7ea7076da..04cd57ab2 100644 --- a/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java +++ b/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java @@ -6,6 +6,7 @@ */ package org.gridsuite.modification.server; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; @@ -17,9 +18,7 @@ import com.powsybl.iidm.network.extensions.GeneratorStartup; import com.powsybl.network.store.client.NetworkStoreService; import com.powsybl.network.store.iidm.impl.NetworkFactoryImpl; -import lombok.SneakyThrows; import nl.jqno.equalsverifier.EqualsVerifier; - import org.apache.commons.lang3.tuple.Pair; import org.gridsuite.modification.server.Impacts.TestImpactUtils; import org.gridsuite.modification.server.dto.*; @@ -35,7 +34,6 @@ import org.gridsuite.modification.server.repositories.NetworkModificationRepository; import org.gridsuite.modification.server.service.NetworkModificationService; import org.gridsuite.modification.server.service.ReportService; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.ModificationCreation; import org.gridsuite.modification.server.utils.NetworkCreation; import org.gridsuite.modification.server.utils.NetworkWithTeePoint; @@ -43,6 +41,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.junit.runner.RunWith; import org.mockito.stubbing.Answer; import org.springframework.beans.factory.annotation.Autowired; @@ -59,8 +58,8 @@ import static org.gridsuite.modification.server.Impacts.TestImpactUtils.*; import static org.gridsuite.modification.server.NetworkModificationException.Type.*; +import static org.gridsuite.modification.server.utils.assertions.Assertions.assertThat; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.*; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.doThrow; @@ -76,6 +75,7 @@ @RunWith(SpringRunner.class) @AutoConfigureMockMvc @SpringBootTest +@Tag("IntegrationTest") public class ModificationControllerTest { private static final UUID TEST_NETWORK_ID = UUID.fromString("7928181c-7977-4592-ba19-88027e4254e4"); @@ -191,9 +191,8 @@ public void testEquipmentIdNonNull() { assertEquals(errorMessage, assertThrows(NullPointerException.class, () -> loadCreationInfos.setEquipmentId(null)).getMessage()); } - @SneakyThrows @Test - public void testNetworkNotFound() { + public void testNetworkNotFound() throws Exception { mockMvc.perform(post(URI_NETWORK_MODIF_BAD_NETWORK) .content(objectWriter.writeValueAsString(LoadCreationInfos.builder().equipmentId("id").build())) .contentType(MediaType.APPLICATION_JSON)) @@ -396,10 +395,10 @@ public void testDuplicateModification() throws Exception { assertEquals(5, newModificationList.size()); assertEquals(modificationUuidList, newModificationUuidList.subList(0, 3)); // compare duplicates 0 and 3 (same data except uuid) - assertThat(newModificationList.get(3), MatcherModificationInfos.createMatcherModificationInfos(modificationList.get(0))); + assertThat(newModificationList.get(3)).recursivelyEquals(modificationList.get(0)); // compare duplicates 1 and 4 (same data except uuid) - assertThat(newModificationList.get(4), MatcherModificationInfos.createMatcherModificationInfos(modificationList.get(1))); + assertThat(newModificationList.get(4)).recursivelyEquals(modificationList.get(1)); // bad request error case: wrong action param mockMvc.perform( @@ -431,8 +430,8 @@ public void testDuplicateModification() throws Exception { assertEquals(3, newModificationListOtherGroup.size()); assertEquals(modificationUuidListOtherGroup, newModificationUuidListOtherGroup.subList(0, 1)); // compare duplicates - assertThat(newModificationListOtherGroup.get(1), MatcherModificationInfos.createMatcherModificationInfos(modificationList.get(0))); - assertThat(newModificationListOtherGroup.get(2), MatcherModificationInfos.createMatcherModificationInfos(modificationList.get(1))); + assertThat(newModificationListOtherGroup.get(1)).recursivelyEquals(modificationList.get(0)); + assertThat(newModificationListOtherGroup.get(2)).recursivelyEquals(modificationList.get(1)); } @Test @@ -495,9 +494,8 @@ public void testMoveModificationWithOrigin() throws Exception { testMoveModification(TEST_GROUP_ID, Boolean.TRUE); } - @SneakyThrows @Test - public void createGeneratorWithStartup() { + public void createGeneratorWithStartup() throws Exception { // create and build generator without startup GeneratorCreationInfos generatorCreationInfos = ModificationCreation.getCreationGenerator("v2", "idGenerator1", "nameGenerator1", "1B", "v2load", "LOAD", "v1"); @@ -722,8 +720,7 @@ public void testGroupDuplication() throws Exception { } @Test - @SneakyThrows - public void testTombstonedEquipmentInfos() { + public void testTombstonedEquipmentInfos() throws Exception { MvcResult mvcResult; assertTrue(equipmentInfosRepository.findAllByNetworkUuidAndVariantId(TEST_NETWORK_ID, NetworkCreation.VARIANT_ID).isEmpty()); @@ -897,7 +894,7 @@ public void testTombstonedEquipmentInfos() { private void testConnectableDeletionImpacts(String resultAsString, IdentifiableType connectableType, String connectableId, - String breakerId, String disconnectorId, String substationId) { + String breakerId, String disconnectorId, String substationId) throws JsonProcessingException { TestImpactUtils.testConnectableDeletionImpacts(mapper, resultAsString, connectableType, connectableId, breakerId, disconnectorId, substationId); // Connectable and switches have been removed from network @@ -914,7 +911,7 @@ private void testConnectableDeletionImpacts(String resultAsString, private void testBranchDeletionImpacts(String resultAsString, IdentifiableType branchType, String branchId, String breakerId1, String disconnectorId1, String substationId1, - String breakerId2, String disconnectorId2, String substationId2) { + String breakerId2, String disconnectorId2, String substationId2) throws JsonProcessingException { TestImpactUtils.testBranchDeletionImpacts(mapper, resultAsString, branchType, branchId, breakerId1, disconnectorId1, substationId1, breakerId2, disconnectorId2, substationId2); // line and switches have been removed from network @@ -936,7 +933,7 @@ private void test3WTDeletionImpacts(String resultAsString, String w3tId, String breakerId1, String disconnectorId1, String breakerId2, String disconnectorId2, String breakerId3, String disconnectorId3, - String substationId) { + String substationId) throws JsonProcessingException { TestImpactUtils.test3WTDeletionImpacts(mapper, resultAsString, w3tId, breakerId1, disconnectorId1, breakerId2, disconnectorId2, breakerId3, disconnectorId3, substationId); // 3 windings transformer and switches have been removed from network @@ -972,12 +969,12 @@ private List testVoltageLevelDeletionImpacts(String vlId, L return createVoltageLevelDeletionImpacts(vlId, busbarSectionsIds, connectablesTypesAndIds, substationId); } - private void testVoltageLevelDeletionImpacts(String resultAsString, String vlId, List busbarSectionsIds, List> connectablesTypesAndIds, String substationId) { + private void testVoltageLevelDeletionImpacts(String resultAsString, String vlId, List busbarSectionsIds, List> connectablesTypesAndIds, String substationId) throws JsonProcessingException { List testElementImpacts = testVoltageLevelDeletionImpacts(vlId, busbarSectionsIds, connectablesTypesAndIds, substationId); TestImpactUtils.testElementImpacts(mapper, resultAsString, testElementImpacts); } - private void testSubstationDeletionImpacts(String resultAsString, String subStationId, List vlsDeletionImpacts) { + private void testSubstationDeletionImpacts(String resultAsString, String subStationId, List vlsDeletionImpacts) throws JsonProcessingException { List impacts = new ArrayList<>(List.of(createDeletionImpactType(IdentifiableType.SUBSTATION, subStationId, Set.of(subStationId)))); impacts.addAll(vlsDeletionImpacts); TestImpactUtils.testElementImpacts(mapper, resultAsString, impacts); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java index f42310725..024848ca5 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/AbstractNetworkModificationTest.java @@ -15,11 +15,9 @@ import com.powsybl.iidm.network.Network; import com.powsybl.network.store.client.NetworkStoreService; import com.powsybl.network.store.iidm.impl.NetworkImpl; -import lombok.SneakyThrows; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.repositories.NetworkModificationRepository; import org.gridsuite.modification.server.service.ReportService; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.gridsuite.modification.server.utils.TestUtils; import org.gridsuite.modification.server.utils.WireMockUtils; @@ -45,7 +43,7 @@ import java.util.UUID; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; -import static org.hamcrest.MatcherAssert.assertThat; +import static org.gridsuite.modification.server.utils.assertions.Assertions.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; @@ -63,7 +61,7 @@ @SpringBootTest @DisableElasticsearch @AutoConfigureMockMvc -public abstract class AbstractNetworkModificationTest { +abstract class AbstractNetworkModificationTest { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractNetworkModificationTest.class); private static final UUID TEST_NETWORK_ID = UUID.randomUUID(); @@ -129,8 +127,7 @@ public void tearOff() { } @Test - @SneakyThrows - public void testCreate() { + public void testCreate() throws Exception { ModificationInfos modificationToCreate = buildModification(); String modificationToCreateJson = mapper.writeValueAsString(modificationToCreate); @@ -140,14 +137,13 @@ public void testCreate() { ModificationInfos createdModification = modificationRepository.getModifications(TEST_GROUP_ID, false, true).get(0); - assertThat(createdModification, createMatcher(modificationToCreate)); + assertThat(createdModification).recursivelyEquals(modificationToCreate); testNetworkModificationsCount(TEST_GROUP_ID, 1); assertNetworkAfterCreation(); } @Test - @SneakyThrows - public void testRead() { + public void testRead() throws Exception { ModificationInfos modificationToRead = buildModification(); @@ -159,12 +155,11 @@ public void testRead() { ModificationInfos receivedModification = mapper.readValue(resultAsString, new TypeReference<>() { }); - assertThat(receivedModification, createMatcher(modificationToRead)); + assertThat(receivedModification).recursivelyEquals(modificationToRead); } @Test - @SneakyThrows - public void testUpdate() { + public void testUpdate() throws Exception { ModificationInfos modificationToUpdate = buildModification(); @@ -178,17 +173,16 @@ public void testUpdate() { .andExpect(status().isOk()); // TODO Need a test for substations impacted - //assertThat(bsmListResult.get(0), createMatcherEquipmentModificationInfos(ModificationType.LOAD_CREATION, "idLoad1", Set.of("s1"))); + //assertThat(bsmListResult.get(0)).recursivelyEquals(ModificationType.LOAD_CREATION, "idLoad1", Set.of("s1")); ModificationInfos updatedModification = modificationRepository.getModifications(TEST_GROUP_ID, false, true).get(0); - assertThat(updatedModification, createMatcher(modificationToUpdate)); + assertThat(updatedModification).recursivelyEquals(modificationToUpdate); testNetworkModificationsCount(TEST_GROUP_ID, 1); } @Test - @SneakyThrows - public void testDelete() { + public void testDelete() throws Exception { ModificationInfos modificationToDelete = buildModification(); @@ -206,8 +200,7 @@ public void testDelete() { } @Test - @SneakyThrows - public void testCopy() { + public void testCopy() throws Exception { ModificationInfos modificationToCopy = buildModification(); @@ -222,12 +215,11 @@ public void testCopy() { .getModifications(TEST_GROUP_ID, false, true); assertEquals(2, modifications.size()); - assertThat(modifications.get(0), createMatcher(modificationToCopy)); - assertThat(modifications.get(1), createMatcher(modificationToCopy)); + assertThat(modifications.get(0)).recursivelyEquals(modificationToCopy); + assertThat(modifications.get(1)).recursivelyEquals(modificationToCopy); } - @SneakyThrows - protected void testNetworkModificationsCount(UUID groupUuid, int actualSize) { + protected void testNetworkModificationsCount(UUID groupUuid, int actualSize) throws Exception { MvcResult mvcResult; String resultAsString; // get all modifications for the given group of a network @@ -278,8 +270,6 @@ protected String getNetworkModificationUriWithBadVariant() { protected abstract ModificationInfos buildModificationUpdate(); - protected abstract MatcherModificationInfos createMatcher(ModificationInfos modificationInfos); - protected abstract void assertNetworkAfterCreation(); protected abstract void assertNetworkAfterDeletion(); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideOneLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideOneLineTest.java index 4220c5b20..27fb7ab58 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideOneLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideOneLineTest.java @@ -8,24 +8,23 @@ import com.powsybl.iidm.network.Line; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.BRANCH_ACTION_ERROR; -import static org.gridsuite.modification.server.utils.MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class BranchStatusModificationEnergiseSideOneLineTest extends AbstractNetworkModificationTest { private static final String TARGET_LINE_ID = "line2"; @@ -55,11 +54,6 @@ protected ModificationInfos buildModificationUpdate() { .action(BranchStatusModificationInfos.ActionType.TRIP).build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { // terminal1 is now connected, terminal2 is now disconnected @@ -78,9 +72,8 @@ protected void assertNetworkAfterDeletion() { assertTrue(line.getTerminal2().isConnected()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // line not existing BranchStatusModificationInfos modificationInfos = (BranchStatusModificationInfos) buildModification(); // disconnection error diff --git a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideTwoLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideTwoLineTest.java index 676f8cf62..58a5889ea 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideTwoLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationEnergiseSideTwoLineTest.java @@ -8,24 +8,23 @@ import com.powsybl.iidm.network.Line; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.BRANCH_ACTION_ERROR; -import static org.gridsuite.modification.server.utils.MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class BranchStatusModificationEnergiseSideTwoLineTest extends AbstractNetworkModificationTest { private static final String TARGET_LINE_ID = "line2"; @@ -55,11 +54,6 @@ protected ModificationInfos buildModificationUpdate() { .action(BranchStatusModificationInfos.ActionType.TRIP).build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { // terminal1 is now disconnected, terminal2 is now reconnected @@ -78,9 +72,8 @@ protected void assertNetworkAfterDeletion() { assertFalse(line.getTerminal2().isConnected()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // line not existing BranchStatusModificationInfos modificationInfos = (BranchStatusModificationInfos) buildModification(); // disconnection error diff --git a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationLockoutLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationLockoutLineTest.java index 113a34f1c..9800d6784 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationLockoutLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationLockoutLineTest.java @@ -8,14 +8,13 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.BranchStatus; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.gridsuite.modification.server.utils.TestUtils; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; @@ -23,13 +22,13 @@ import static com.powsybl.iidm.network.extensions.BranchStatus.Status.FORCED_OUTAGE; import static com.powsybl.iidm.network.extensions.BranchStatus.Status.PLANNED_OUTAGE; import static org.gridsuite.modification.server.NetworkModificationException.Type.*; -import static org.gridsuite.modification.server.utils.MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.jupiter.api.Assertions.assertNull; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class BranchStatusModificationLockoutLineTest extends AbstractNetworkModificationTest { private static final String TARGET_LINE_ID = "line2"; @@ -59,11 +58,6 @@ protected ModificationInfos buildModificationUpdate() { .action(BranchStatusModificationInfos.ActionType.SWITCH_ON).build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { TestUtils.assertBranchStatus(getNetwork(), TARGET_LINE_ID, TARGET_BRANCH_STATUS); @@ -75,9 +69,8 @@ protected void assertNetworkAfterDeletion() { TestUtils.assertBranchStatus(getNetwork(), TARGET_LINE_ID, OTHER_BRANCH_STATUS); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // line not existing BranchStatusModificationInfos modificationInfos = (BranchStatusModificationInfos) buildModification(); modificationInfos.setEquipmentId("notFound"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationSwitchOnLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationSwitchOnLineTest.java index bedeeade6..5366a680f 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationSwitchOnLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationSwitchOnLineTest.java @@ -11,15 +11,15 @@ import com.powsybl.iidm.network.Terminal; import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; +import org.junit.jupiter.api.Tag; import java.util.UUID; -import static org.gridsuite.modification.server.utils.MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +@Tag("IntegrationTest") public class BranchStatusModificationSwitchOnLineTest extends AbstractNetworkModificationTest { private static final String TARGET_LINE_ID = "line2"; @@ -48,11 +48,6 @@ protected ModificationInfos buildModificationUpdate() { .action(BranchStatusModificationInfos.ActionType.TRIP).build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { // terminals are now all connected diff --git a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTrip2WTransformerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTrip2WTransformerTest.java index ece5b1c6f..14abcf874 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTrip2WTransformerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTrip2WTransformerTest.java @@ -10,16 +10,16 @@ import com.powsybl.iidm.network.extensions.BranchStatus; import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.gridsuite.modification.server.utils.TestUtils; +import org.junit.jupiter.api.Tag; import java.util.UUID; import static com.powsybl.iidm.network.extensions.BranchStatus.Status.FORCED_OUTAGE; import static com.powsybl.iidm.network.extensions.BranchStatus.Status.PLANNED_OUTAGE; -import static org.gridsuite.modification.server.utils.MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos; +@Tag("IntegrationTest") public class BranchStatusModificationTrip2WTransformerTest extends AbstractNetworkModificationTest { private static final String TARGET_BRANCH_ID = "trf1"; @@ -49,11 +49,6 @@ protected ModificationInfos buildModificationUpdate() { .action(BranchStatusModificationInfos.ActionType.SWITCH_ON).build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { TestUtils.assertBranchStatus(getNetwork(), TARGET_BRANCH_ID, TARGET_BRANCH_STATUS); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTripLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTripLineTest.java index 110ec43a8..27e9ab378 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTripLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/BranchStatusModificationTripLineTest.java @@ -10,16 +10,16 @@ import com.powsybl.iidm.network.extensions.BranchStatus; import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.gridsuite.modification.server.utils.TestUtils; +import org.junit.jupiter.api.Tag; import java.util.UUID; import static com.powsybl.iidm.network.extensions.BranchStatus.Status.FORCED_OUTAGE; import static com.powsybl.iidm.network.extensions.BranchStatus.Status.PLANNED_OUTAGE; -import static org.gridsuite.modification.server.utils.MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos; +@Tag("IntegrationTest") public class BranchStatusModificationTripLineTest extends AbstractNetworkModificationTest { private static final String TARGET_LINE_ID = "line2"; @@ -49,11 +49,6 @@ protected ModificationInfos buildModificationUpdate() { .action(BranchStatusModificationInfos.ActionType.SWITCH_ON).build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { TestUtils.assertBranchStatus(getNetwork(), TARGET_LINE_ID, TARGET_BRANCH_STATUS); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/DeleteAttachingLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/DeleteAttachingLineTest.java index cf190e541..a7f0dd7a3 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/DeleteAttachingLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/DeleteAttachingLineTest.java @@ -7,20 +7,19 @@ package org.gridsuite.modification.server.modifications; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.DeleteAttachingLineInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkWithTeePoint; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import java.util.UUID; -import static org.gridsuite.modification.server.NetworkModificationException.Type.*; -import static org.gridsuite.modification.server.utils.MatcherDeleteAttachingLineInfos.createMatcherDeleteAttachingLineInfos; +import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_ALREADY_EXISTS; +import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_NOT_FOUND; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -30,6 +29,7 @@ /** * @author bendaamerahm */ +@Tag("IntegrationTest") public class DeleteAttachingLineTest extends AbstractNetworkModificationTest { @Override @@ -59,11 +59,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherDeleteAttachingLineInfos((DeleteAttachingLineInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNull(getNetwork().getLine("l1")); @@ -78,9 +73,8 @@ protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getLine("replacingLineId")); } - @SneakyThrows @Test - public void createWithInvalidLineIdTest() { + public void createWithInvalidLineIdTest() throws Exception { // test create with incorrect line id DeleteAttachingLineInfos deleteAttachingLineInfos = DeleteAttachingLineInfos.builder() .lineToAttachTo1Id("l1") @@ -96,9 +90,8 @@ public void createWithInvalidLineIdTest() { deleteAttachingLineInfos.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void createWithNoAttachmentPointTest() { + public void createWithNoAttachmentPointTest() throws Exception { DeleteAttachingLineInfos deleteAttachingLineInfos = DeleteAttachingLineInfos.builder() .lineToAttachTo1Id("l1") .lineToAttachTo2Id("l3") @@ -113,9 +106,8 @@ public void createWithNoAttachmentPointTest() { deleteAttachingLineInfos.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void createNewLineWithExistingIdTest() { + public void createNewLineWithExistingIdTest() throws Exception { // try to create an already existing line DeleteAttachingLineInfos deleteAttachingLineInfos = (DeleteAttachingLineInfos) buildModification(); deleteAttachingLineInfos.setReplacingLine1Id("l2"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/DeleteVoltageLevelOnLineTest.java b/src/test/java/org/gridsuite/modification/server/modifications/DeleteVoltageLevelOnLineTest.java index 124f526ab..32772d87f 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/DeleteVoltageLevelOnLineTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/DeleteVoltageLevelOnLineTest.java @@ -7,13 +7,12 @@ package org.gridsuite.modification.server.modifications; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.DeleteVoltageLevelOnLineInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -21,7 +20,6 @@ import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_ALREADY_EXISTS; import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_NOT_FOUND; -import static org.gridsuite.modification.server.utils.MatcherDeleteVoltageLevelOnLineInfos.createMatcherDeleteVoltageLevelOnLineInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -31,6 +29,7 @@ /** * @author bendaamerahm */ +@Tag("IntegrationTest") public class DeleteVoltageLevelOnLineTest extends AbstractNetworkModificationTest { @Override @@ -58,11 +57,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherDeleteVoltageLevelOnLineInfos((DeleteVoltageLevelOnLineInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNull(getNetwork().getVoltageLevel("v1")); @@ -81,9 +75,8 @@ protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getLine("replacementLineId")); } - @SneakyThrows @Test - public void createWithInvalidLineIdTest() { + public void createWithInvalidLineIdTest() throws Exception { // test create with incorrect line id DeleteVoltageLevelOnLineInfos deleteVoltageLevelOnLineInfos = DeleteVoltageLevelOnLineInfos.builder() .lineToAttachTo1Id("l1") @@ -98,9 +91,8 @@ public void createWithInvalidLineIdTest() { deleteVoltageLevelOnLineInfos.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void createNewLineWithExistingIdTest() { + public void createNewLineWithExistingIdTest() throws Exception { // try to create an already existing line DeleteVoltageLevelOnLineInfos deleteVoltageLevelOnLineInfos = (DeleteVoltageLevelOnLineInfos) buildModification(); deleteVoltageLevelOnLineInfos.setReplacingLine1Id("l2"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/EquipmentAttributeModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/EquipmentAttributeModificationTest.java index 1d4261e38..94e7d914e 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/EquipmentAttributeModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/EquipmentAttributeModificationTest.java @@ -8,13 +8,11 @@ import com.powsybl.iidm.network.IdentifiableType; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.EquipmentAttributeModificationInfos; -import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; @@ -24,21 +22,20 @@ import java.util.Set; import java.util.UUID; -import static org.gridsuite.modification.server.NetworkModificationException.Type.*; import static org.gridsuite.modification.server.Impacts.TestImpactUtils.testElementModificationImpact; import static org.gridsuite.modification.server.Impacts.TestImpactUtils.testEmptyImpacts; -import static org.gridsuite.modification.server.utils.MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos; +import static org.gridsuite.modification.server.NetworkModificationException.Type.*; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class EquipmentAttributeModificationTest extends AbstractNetworkModificationTest { - @SneakyThrows @Test - public void testEquipmentAttributeModificationInfos() { + public void testEquipmentAttributeModificationInfos() throws Exception { MvcResult mvcResult; UUID modificationUuid = UUID.randomUUID(); //We need to limit the precision to avoid database precision storage limit issue (postgres has a precision of 6 digits while h2 can go to 9) @@ -74,7 +71,7 @@ public void testEquipmentAttributeModificationInfos() { } @Test - public void testSwitch() { + public void testSwitch() throws Exception { // switches modifications on initial variant switchModifications("", "v1b1", "disc1Variant", "v2b1", "v3b1", Set.of("s1"), Set.of("s2"), 5); @@ -82,10 +79,9 @@ public void testSwitch() { switchModifications("&variantId=" + NetworkCreation.VARIANT_ID, "break1Variant", "notFound", "disc1Variant", "break2Variant", Set.of("s1Variant"), Set.of("s2Variant"), 10); } - @SneakyThrows private void switchModifications(String extraParams, String switchId1, String switchNotFoundId, String switchId2, String switchId3, Set substationsIds, Set otherSubstationsIds, - int modificationsCount) { + int modificationsCount) throws Exception { MvcResult mvcResult; EquipmentAttributeModificationInfos switchStatusModificationInfos = buildModification(); @@ -128,9 +124,8 @@ private void switchModifications(String extraParams, String switchId1, String sw testNetworkModificationsCount(getGroupId(), modificationsCount); } - @SneakyThrows @Test - public void testWithErrors() { + public void testWithErrors() throws Exception { // bad equipment attribute name EquipmentAttributeModificationInfos switchStatusModificationInfos = EquipmentAttributeModificationInfos.builder() .equipmentType(IdentifiableType.SWITCH) @@ -180,11 +175,6 @@ protected EquipmentAttributeModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherEquipmentAttributeModificationInfos((EquipmentAttributeModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertTrue(getNetwork().getSwitch("v1b1").isOpen()); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/EquipmentDeletionTest.java b/src/test/java/org/gridsuite/modification/server/modifications/EquipmentDeletionTest.java index 6fde0889e..c99da2832 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/EquipmentDeletionTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/EquipmentDeletionTest.java @@ -8,13 +8,12 @@ package org.gridsuite.modification.server.modifications; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.EquipmentDeletionInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherEquipmentDeletionInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; @@ -26,6 +25,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class EquipmentDeletionTest extends AbstractNetworkModificationTest { @Override @@ -49,11 +49,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherEquipmentDeletionInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherEquipmentDeletionInfos.createMatcherEquipmentDeletionInfos((EquipmentDeletionInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNull(getNetwork().getLoad("v1load")); @@ -64,9 +59,8 @@ protected void assertNetworkAfterDeletion() { assertNotNull(getNetwork().getLoad("v1load")); } - @SneakyThrows @Test - public void testOkWhenRemovingIsolatedEquipment() { + public void testOkWhenRemovingIsolatedEquipment() throws Exception { EquipmentDeletionInfos equipmentDeletionInfos = EquipmentDeletionInfos.builder() .equipmentType("LOAD") @@ -83,9 +77,8 @@ public void testOkWhenRemovingIsolatedEquipment() { assertNull(v5.getNodeBreakerView().getTerminal(2)); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // delete load (fail because the load is not found) EquipmentDeletionInfos equipmentDeletionInfos = (EquipmentDeletionInfos) buildModification(); equipmentDeletionInfos.setEquipmentId("notFoundLoad"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/GenerationDispatchTest.java b/src/test/java/org/gridsuite/modification/server/modifications/GenerationDispatchTest.java index 42d460092..4e75c4fac 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/GenerationDispatchTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/GenerationDispatchTest.java @@ -11,18 +11,12 @@ import com.github.tomakehurst.wiremock.matching.StringValuePattern; import com.powsybl.iidm.network.IdentifiableType; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; -import org.gridsuite.modification.server.dto.FilterEquipments; -import org.gridsuite.modification.server.dto.GenerationDispatchInfos; -import org.gridsuite.modification.server.dto.GeneratorsFilterInfos; -import org.gridsuite.modification.server.dto.GeneratorsFrequencyReserveInfos; -import org.gridsuite.modification.server.dto.IdentifiableAttributes; -import org.gridsuite.modification.server.dto.ModificationInfos; +import org.gridsuite.modification.server.dto.*; import org.gridsuite.modification.server.service.FilterService; -import org.gridsuite.modification.server.utils.MatcherGenerationDispatchInfos; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.http.MediaType; @@ -41,6 +35,7 @@ /** * @author Franck Lecuyer */ +@Tag("IntegrationTest") public class GenerationDispatchTest extends AbstractNetworkModificationTest { private static final String GH1_ID = "GH1"; private static final String GH2_ID = "GH2"; @@ -67,7 +62,6 @@ public class GenerationDispatchTest extends AbstractNetworkModificationTest { @Autowired ApplicationContext context; - @SneakyThrows @Before public void specificSetUp() { FilterService.setFilterServerBaseUri(wireMockServer.baseUrl()); @@ -91,9 +85,8 @@ private FilterEquipments getFilterEquipments(UUID filterID, String filterName, .build(); } - @SneakyThrows @Test - public void testGenerationDispatch() { + public void testGenerationDispatch() throws Exception { ModificationInfos modification = buildModification(); // network with 2 synchronous components, 2 hvdc lines between them and no forcedOutageRate and plannedOutageRate for the generators @@ -121,9 +114,8 @@ public void testGenerationDispatch() { assertLogMessage("The supply-demand balance could be met", "SupplyDemandBalanceCouldBeMet" + secondSynchronousComponentNum, reportService); } - @SneakyThrows @Test - public void testGenerationDispatchWithHigherLossCoefficient() { + public void testGenerationDispatchWithHigherLossCoefficient() throws Exception { ModificationInfos modification = buildModification(); ((GenerationDispatchInfos) modification).setLossCoefficient(90.); @@ -163,9 +155,8 @@ public void testGenerationDispatchWithHigherLossCoefficient() { assertLogMessage("The supply-demand balance could not be met : the remaining power imbalance is 70.0 MW", "SupplyDemandBalanceCouldNotBeMet" + secondSynchronousComponentNum, reportService); } - @SneakyThrows @Test - public void testGenerationDispatchWithInternalHvdc() { + public void testGenerationDispatchWithInternalHvdc() throws Exception { ModificationInfos modification = buildModification(); // network with unique synchronous component, 2 internal hvdc lines and no forcedOutageRate and plannedOutageRate for the generators @@ -197,9 +188,8 @@ public void testGenerationDispatchWithInternalHvdc() { assertLogMessage("The supply-demand balance could not be met : the remaining power imbalance is 68.0 MW", "SupplyDemandBalanceCouldNotBeMet" + firstSynchronousComponentNum, reportService); } - @SneakyThrows @Test - public void testGenerationDispatchWithMaxPReduction() { + public void testGenerationDispatchWithMaxPReduction() throws Exception { ModificationInfos modification = buildModification(); ((GenerationDispatchInfos) modification).setDefaultOutageRate(15.); ((GenerationDispatchInfos) modification).setGeneratorsWithoutOutage( @@ -254,9 +244,8 @@ public void testGenerationDispatchWithMaxPReduction() { wireMockUtils.verifyGetRequest(stubId, PATH, handleQueryParams(getNetworkUuid(), filters.stream().map(FilterEquipments::getFilterId).collect(Collectors.toList())), false); } - @SneakyThrows @Test - public void testGenerationDispatchGeneratorsWithFixedSupply() { + public void testGenerationDispatchGeneratorsWithFixedSupply() throws Exception { ModificationInfos modification = buildModification(); ((GenerationDispatchInfos) modification).setDefaultOutageRate(15.); ((GenerationDispatchInfos) modification).setGeneratorsWithoutOutage( @@ -320,9 +309,8 @@ public void testGenerationDispatchGeneratorsWithFixedSupply() { wireMockUtils.verifyGetRequest(stubIdForFixedSupply, PATH, handleQueryParams(getNetworkUuid(), filtersForFixedSupply.stream().map(FilterEquipments::getFilterId).collect(Collectors.toList())), false); } - @SneakyThrows @Test - public void testGenerationDispatchWithFrequencyReserve() { + public void testGenerationDispatchWithFrequencyReserve() throws Exception { ModificationInfos modification = buildModification(); ((GenerationDispatchInfos) modification).setDefaultOutageRate(15.); ((GenerationDispatchInfos) modification).setGeneratorsWithoutOutage( @@ -399,7 +387,6 @@ public void testGenerationDispatchWithFrequencyReserve() { wireMockUtils.verifyGetRequest(stubIdForFrequencyReserve2, PATH, handleQueryParams(getNetworkUuid(), filtersForFrequencyReserve2.stream().map(FilterEquipments::getFilterId).collect(Collectors.toList())), false); } - @SneakyThrows @Test public void testGenerationDispatchErrorCheck() { GenerationDispatchInfos modification = GenerationDispatchInfos.builder().lossCoefficient(150.).defaultOutageRate(0.).build(); @@ -442,11 +429,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherGenerationDispatchInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherGenerationDispatchInfos.createMatcherGenerationDispatchInfos((GenerationDispatchInfos) modificationInfos); - } - private void assertNetworkAfterCreationWithStandardLossCoefficient() { assertEquals(100., getNetwork().getGenerator(GH1_ID).getTargetP(), 0.001); assertEquals(70., getNetwork().getGenerator(GH2_ID).getTargetP(), 0.001); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInBusBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInBusBreakerTest.java index eee1f561d..af1574913 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInBusBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInBusBreakerTest.java @@ -10,14 +10,13 @@ import com.powsybl.iidm.network.EnergySource; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.GeneratorCreationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.ReactiveCapabilityCurveCreationInfos; -import org.gridsuite.modification.server.utils.MatcherGeneratorCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.Arrays; @@ -30,6 +29,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class GeneratorCreationInBusBreakerTest extends AbstractNetworkModificationTest { @Override protected Network createNetwork(UUID networkUuid) { @@ -110,11 +110,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherGeneratorCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherGeneratorCreationInfos.createMatcherGeneratorCreationInfos((GeneratorCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getGenerator("idGenerator2")); @@ -129,9 +124,8 @@ protected void assertNetworkAfterDeletion() { .filter(transformer -> transformer.getId().equals("idGenerator2")).count()); } - @SneakyThrows @Test - public void testCreateWithBusbarSectionErrors() { + public void testCreateWithBusbarSectionErrors() throws Exception { GeneratorCreationInfos generatorCreationInfos = (GeneratorCreationInfos) buildModification(); generatorCreationInfos.setBusOrBusbarSectionId("notFoundBus"); mockMvc.perform(post(getNetworkModificationUri()).content(mapper.writeValueAsString(generatorCreationInfos)).contentType(MediaType.APPLICATION_JSON)) @@ -140,9 +134,8 @@ public void testCreateWithBusbarSectionErrors() { generatorCreationInfos.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testCreateWithRegulatedTerminalError() { + public void testCreateWithRegulatedTerminalError() throws Exception { // invalid regulating terminal id <---> regulation terminal type GeneratorCreationInfos generatorCreationInfos = (GeneratorCreationInfos) buildModification(); generatorCreationInfos.setRegulatingTerminalType("LINE"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInNodeBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInNodeBreakerTest.java index fdeb62f19..3d9452a1b 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInNodeBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorCreationInNodeBreakerTest.java @@ -11,15 +11,14 @@ import com.powsybl.iidm.network.EnergySource; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.GeneratorCreationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.NetworkModificationResult; import org.gridsuite.modification.server.dto.ReactiveCapabilityCurveCreationInfos; -import org.gridsuite.modification.server.utils.MatcherGeneratorCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; @@ -33,6 +32,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class GeneratorCreationInNodeBreakerTest extends AbstractNetworkModificationTest { @Override protected Network createNetwork(UUID networkUuid) { @@ -114,11 +114,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherGeneratorCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherGeneratorCreationInfos.createMatcherGeneratorCreationInfos((GeneratorCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getGenerator("idGenerator1")); @@ -133,9 +128,8 @@ protected void assertNetworkAfterDeletion() { .filter(transformer -> transformer.getId().equals("idGenerator1")).count()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // invalid Generator id GeneratorCreationInfos generatorCreationInfos = (GeneratorCreationInfos) buildModification(); generatorCreationInfos.setEquipmentId(""); @@ -239,9 +233,8 @@ public void testCreateWithErrors() { testNetworkModificationsCount(getGroupId(), 10); // new modification stored in the database } - @SneakyThrows @Test - public void testCreateWithShortCircuitErrors() { + public void testCreateWithShortCircuitErrors() throws Exception { // invalid short circuit transient reactance GeneratorCreationInfos generatorCreationInfos = (GeneratorCreationInfos) buildModification(); generatorCreationInfos.setTransientReactance(Double.NaN); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorModificationTest.java index 7adf47380..dd57f1deb 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorModificationTest.java @@ -11,11 +11,10 @@ import com.powsybl.iidm.network.extensions.ActivePowerControl; import com.powsybl.iidm.network.extensions.GeneratorShortCircuit; import com.powsybl.iidm.network.extensions.GeneratorStartup; -import lombok.SneakyThrows; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherGeneratorModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.util.CollectionUtils; @@ -26,12 +25,13 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.stream.IntStream; +import static org.gridsuite.modification.server.utils.assertions.Assertions.*; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class GeneratorModificationTest extends AbstractNetworkModificationTest { @Override protected Network createNetwork(UUID networkUuid) { @@ -98,11 +98,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherGeneratorModificationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherGeneratorModificationInfos.createMatcherGeneratorModificationInfos((GeneratorModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { Generator modifiedGenerator = getNetwork().getGenerator("idGenerator"); @@ -141,9 +136,8 @@ protected void assertNetworkAfterDeletion() { assertEquals(ReactiveLimitsKind.MIN_MAX, generator.getReactiveLimits().getKind()); } - @SneakyThrows @Test - public void testMinMaxReactiveLimitsAttributesModification() { + public void testMinMaxReactiveLimitsAttributesModification() throws Exception { GeneratorModificationInfos generatorModificationInfos = (GeneratorModificationInfos) buildModification(); //setting ReactiveCapabilityCurve to false with null min and max reactive limits @@ -171,7 +165,7 @@ public void testMinMaxReactiveLimitsAttributesModification() { GeneratorModificationInfos createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 1); // Modifying only min reactive limit @@ -183,7 +177,7 @@ public void testMinMaxReactiveLimitsAttributesModification() { createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(1); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 2); // Modifying only max reactive limit @@ -196,7 +190,7 @@ public void testMinMaxReactiveLimitsAttributesModification() { createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(2); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 3); // Modifying both min and max reactive limits @@ -208,7 +202,7 @@ public void testMinMaxReactiveLimitsAttributesModification() { createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(3); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 4); // nothing before reactive limits modification @@ -222,13 +216,12 @@ public void testMinMaxReactiveLimitsAttributesModification() { mockMvc.perform(post(getNetworkModificationUri()).content(modificationToCreateJson).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(4); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 5); } - @SneakyThrows @Test - public void testGeneratorShortCircuitAttributesModification() { + public void testGeneratorShortCircuitAttributesModification() throws Exception { GeneratorModificationInfos generatorModificationInfos = (GeneratorModificationInfos) buildModification(); // setting transient reactance to null, modifying only step up transformer reactance @@ -240,7 +233,7 @@ public void testGeneratorShortCircuitAttributesModification() { GeneratorModificationInfos createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 1); // setting step up transformer reactance to null, modifying only transient reactance @@ -253,13 +246,12 @@ public void testGeneratorShortCircuitAttributesModification() { createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(1); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 2); } - @SneakyThrows @Test - public void testGeneratorVoltageRegulatorAttributesModification() { + public void testGeneratorVoltageRegulatorAttributesModification() throws Exception { GeneratorModificationInfos generatorModificationInfos = (GeneratorModificationInfos) buildModification(); // setting voltageRegulatorOn to true, applying qPercent and regulatingTerminal @@ -271,7 +263,7 @@ public void testGeneratorVoltageRegulatorAttributesModification() { GeneratorModificationInfos createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 1); // setting voltageRegulatorOn to null, no modification on voltageRegulationOn @@ -283,7 +275,7 @@ public void testGeneratorVoltageRegulatorAttributesModification() { createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(1); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 2); // setting voltageRegulationType to local, setting reginingTerminal to null @@ -295,7 +287,7 @@ public void testGeneratorVoltageRegulatorAttributesModification() { createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(2); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 3); // no modification in setpoints @@ -310,13 +302,12 @@ public void testGeneratorVoltageRegulatorAttributesModification() { .andExpect(status().isOk()).andReturn(); createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(3); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); testNetworkModificationsCount(getGroupId(), 4); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { GeneratorModificationInfos generatorModificationInfos = (GeneratorModificationInfos) buildModification(); // Unset an attribute that should not be null generatorModificationInfos.setEnergySource(new AttributeModification<>(null, OperationType.UNSET)); @@ -329,9 +320,8 @@ public void testCreateWithErrors() { generatorModificationInfos.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testDroopUnchanged() { + public void testDroopUnchanged() throws Exception { GeneratorModificationInfos generatorModificationInfos = (GeneratorModificationInfos) buildModification(); generatorModificationInfos.getDroop().setValue(18f); @@ -342,7 +332,7 @@ public void testDroopUnchanged() { GeneratorModificationInfos createdModification = (GeneratorModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(generatorModificationInfos)); + assertThat(createdModification).recursivelyEquals(generatorModificationInfos); // setting droop to null, modifying only participate generatorModificationInfos.setDroop(null); @@ -356,9 +346,8 @@ public void testDroopUnchanged() { assertEquals(18f, createdModification.getDroop().getValue()); } - @SneakyThrows @Test - public void testMinQGreaterThanMaxQ() { + public void testMinQGreaterThanMaxQ() throws Exception { GeneratorModificationInfos generatorModificationInfos = (GeneratorModificationInfos) buildModification(); Generator generator = getNetwork().getGenerator("idGenerator"); generator.newReactiveCapabilityCurve() diff --git a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorScalingTest.java b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorScalingTest.java index b6c90bc88..f536ad3e9 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/GeneratorScalingTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/GeneratorScalingTest.java @@ -12,16 +12,15 @@ import com.powsybl.iidm.network.IdentifiableType; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.VariationMode; import org.gridsuite.modification.server.VariationType; import org.gridsuite.modification.server.dto.*; import org.gridsuite.modification.server.service.FilterService; -import org.gridsuite.modification.server.utils.MatcherGeneratorScalingInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.time.ZonedDateTime; @@ -42,7 +41,7 @@ /** * @author Seddik Yengui */ - +@Tag("IntegrationTest") public class GeneratorScalingTest extends AbstractNetworkModificationTest { private static final UUID GENERATOR_SCALING_ID = UUID.randomUUID(); private static final UUID FILTER_ID_1 = UUID.randomUUID(); @@ -67,7 +66,6 @@ public class GeneratorScalingTest extends AbstractNetworkModificationTest { public static final String GENERATOR_WRONG_ID_2 = "wrongId2"; public static final String PATH = "/v1/filters/export"; - @SneakyThrows @Before public void specificSetUp() { FilterService.setFilterServerBaseUri(wireMockServer.baseUrl()); @@ -111,9 +109,8 @@ private List getTestFilters() { } @Test - @SneakyThrows @Override - public void testCreate() { + public void testCreate() throws Exception { List filters = getTestFilters(); UUID stubId = wireMockServer.stubFor(WireMock.get(WireMock.urlMatching(getPath(getNetworkUuid(), true) + "(.+,){4}.*")) .willReturn(WireMock.ok() @@ -123,12 +120,17 @@ public void testCreate() { super.testCreate(); wireMockUtils.verifyGetRequest(stubId, PATH, handleQueryParams(getNetworkUuid(), filters.stream().map(FilterEquipments::getFilterId).collect(Collectors.toList())), false); + + assertEquals( + String.format("ScalingInfos(super=ModificationInfos(uuid=null, date=null), variations=[ScalingVariationInfos(id=null, filters=[FilterInfos(id=%s, name=filter1)], variationMode=PROPORTIONAL_TO_PMAX, variationValue=50.0, reactiveVariationMode=null), ScalingVariationInfos(id=null, filters=[FilterInfos(id=%s, name=filter2)], variationMode=REGULAR_DISTRIBUTION, variationValue=50.0, reactiveVariationMode=null), ScalingVariationInfos(id=null, filters=[FilterInfos(id=%s, name=filter3)], variationMode=STACKING_UP, variationValue=50.0, reactiveVariationMode=null), ScalingVariationInfos(id=null, filters=[FilterInfos(id=%s, name=filter4)], variationMode=VENTILATION, variationValue=50.0, reactiveVariationMode=null), ScalingVariationInfos(id=null, filters=[FilterInfos(id=%s, name=filter1), FilterInfos(id=%s, name=filter5)], variationMode=PROPORTIONAL, variationValue=50.0, reactiveVariationMode=null)], variationType=DELTA_P)", + FILTER_ID_1, FILTER_ID_2, FILTER_ID_3, FILTER_ID_4, FILTER_ID_1, FILTER_ID_5), + buildModification().toString() + ); } @Test - @SneakyThrows @Override - public void testCopy() { + public void testCopy() throws Exception { List filters = getTestFilters(); UUID stubId = wireMockServer.stubFor(WireMock.get(WireMock.urlMatching(getPath(getNetworkUuid(), true) + "(.+,){4}.*")) .willReturn(WireMock.ok() @@ -140,9 +142,8 @@ public void testCopy() { wireMockUtils.verifyGetRequest(stubId, PATH, handleQueryParams(getNetworkUuid(), filters.stream().map(FilterEquipments::getFilterId).collect(Collectors.toList())), false); } - @SneakyThrows @Test - public void testVentilationModeWithoutDistributionKey() { + public void testVentilationModeWithoutDistributionKey() throws Exception { IdentifiableAttributes genNoDK1 = getIdentifiableAttributes(GENERATOR_ID_2, null); IdentifiableAttributes genNoDK2 = getIdentifiableAttributes(GENERATOR_ID_3, null); FilterEquipments noDistributionKeyFilter = getFilterEquipments(FILTER_NO_DK, "noDistributionKeyFilter", List.of(genNoDK1, genNoDK2), List.of()); @@ -181,9 +182,8 @@ public void testVentilationModeWithoutDistributionKey() { wireMockUtils.verifyGetRequest(subNoDk, PATH, handleQueryParams(getNetworkUuid(), FILTER_NO_DK), false); } - @SneakyThrows @Test - public void testFilterWithWrongIds() { + public void testFilterWithWrongIds() throws Exception { IdentifiableAttributes genWrongId1 = getIdentifiableAttributes(GENERATOR_WRONG_ID_1, 2.0); IdentifiableAttributes genWrongId2 = getIdentifiableAttributes(GENERATOR_WRONG_ID_2, 3.0); @@ -215,9 +215,8 @@ public void testFilterWithWrongIds() { wireMockUtils.verifyGetRequest(subWrongId, PATH, handleQueryParams(getNetworkUuid(), FILTER_WRONG_ID_1), false); } - @SneakyThrows @Test - public void testScalingCreationWithWarning() { + public void testScalingCreationWithWarning() throws Exception { IdentifiableAttributes genWrongId1 = getIdentifiableAttributes(GENERATOR_WRONG_ID_1, 2.0); IdentifiableAttributes gen10 = getIdentifiableAttributes(GENERATOR_ID_10, 9.0); IdentifiableAttributes gen9 = getIdentifiableAttributes(GENERATOR_ID_9, 0.0); @@ -329,7 +328,7 @@ protected ModificationInfos buildModification() { .build(); return GeneratorScalingInfos.builder() - .date(ZonedDateTime.now().truncatedTo(ChronoUnit.MICROS)) + //.date(ZonedDateTime.now().truncatedTo(ChronoUnit.MICROS)) .variationType(VariationType.DELTA_P) .variations(List.of(variation1, variation2, variation3, variation4, variation5)) .build(); @@ -350,17 +349,12 @@ protected ModificationInfos buildModificationUpdate() { return GeneratorScalingInfos.builder() .uuid(GENERATOR_SCALING_ID) - .date(ZonedDateTime.now().truncatedTo(ChronoUnit.MICROS)) + //.date(ZonedDateTime.now().truncatedTo(ChronoUnit.MICROS)) .variationType(VariationType.TARGET_P) .variations(List.of(variation5)) .build(); } - @Override - protected MatcherGeneratorScalingInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherGeneratorScalingInfos.createMatcherGeneratorScalingInfos((GeneratorScalingInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertEquals(118.46, getNetwork().getGenerator(GENERATOR_ID_1).getTargetP(), 0.01D); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/GroovyScriptTest.java b/src/test/java/org/gridsuite/modification/server/modifications/GroovyScriptTest.java index 2b638ad0a..5cbcffbf0 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/GroovyScriptTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/GroovyScriptTest.java @@ -9,13 +9,12 @@ import com.powsybl.iidm.network.IdentifiableType; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.GroovyScriptInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherGroovyScriptInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; @@ -24,12 +23,12 @@ import static org.gridsuite.modification.server.Impacts.TestImpactUtils.testElementModificationImpact; import static org.gridsuite.modification.server.NetworkModificationException.Type.GROOVY_SCRIPT_EMPTY; -import static org.gridsuite.modification.server.utils.MatcherGroovyScriptInfos.createMatcherGroovyScriptInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertEquals; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class GroovyScriptTest extends AbstractNetworkModificationTest { @Override @@ -51,11 +50,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherGroovyScriptInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherGroovyScriptInfos((GroovyScriptInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertEquals(12, getNetwork().getGenerator("idGenerator").getTargetP(), 0); @@ -66,9 +60,8 @@ protected void assertNetworkAfterDeletion() { assertEquals(42.1, getNetwork().getGenerator("idGenerator").getTargetP(), 0); } - @SneakyThrows @Test - public void testGroovy() { + public void testGroovy() throws Exception { MvcResult mvcResult; GroovyScriptInfos groovyScriptInfos = GroovyScriptInfos.builder() @@ -119,9 +112,8 @@ public void testGroovy() { testNetworkModificationsCount(getGroupId(), 6); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { GroovyScriptInfos groovyScriptInfos = (GroovyScriptInfos) buildModification(); groovyScriptInfos.setScript(""); // apply empty groovy script diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToNewVoltageLevelTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToNewVoltageLevelTest.java index d31332e6e..3528f7ca1 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToNewVoltageLevelTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToNewVoltageLevelTest.java @@ -8,22 +8,20 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.SwitchKind; - import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; +import org.junit.jupiter.api.Tag; import java.util.Arrays; import java.util.UUID; -import static org.gridsuite.modification.server.utils.MatcherLineAttachToVoltageLevelInfos.createMatcherLineAttachToVoltageLevelInfos; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; /** * @author David Braquart */ +@Tag("IntegrationTest") public class LineAttachToNewVoltageLevelTest extends AbstractNetworkModificationTest { private LineCreationInfos getAttachmentLine() { @@ -92,11 +90,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineAttachToVoltageLevelInfos((LineAttachToVoltageLevelInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { // new equipments in the network: diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToVoltageLevelTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToVoltageLevelTest.java index 9f29092b0..849f64b51 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToVoltageLevelTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineAttachToVoltageLevelTest.java @@ -8,21 +8,17 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.SwitchKind; - -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.Arrays; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.*; -import static org.gridsuite.modification.server.utils.MatcherLineAttachToVoltageLevelInfos.createMatcherLineAttachToVoltageLevelInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -33,6 +29,7 @@ /** * @author David Braquart */ +@Tag("IntegrationTest") public class LineAttachToVoltageLevelTest extends AbstractNetworkModificationTest { private LineCreationInfos getAttachmentLine(String lineName) { @@ -101,11 +98,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineAttachToVoltageLevelInfos((LineAttachToVoltageLevelInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { // new equipments in the network: @@ -126,8 +118,7 @@ protected void assertNetworkAfterDeletion() { assertNotNull(getNetwork().getLine("line3")); } - @SneakyThrows - private void tryToCreateLineWithExistingId(LineAttachToVoltageLevelInfos tryWithExistingLine, String existingLineId) { + private void tryToCreateLineWithExistingId(LineAttachToVoltageLevelInfos tryWithExistingLine, String existingLineId) throws Exception { String tryWithExistingLineJson = mapper.writeValueAsString(tryWithExistingLine); mockMvc.perform(post(getNetworkModificationUri()).content(tryWithExistingLineJson).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()); @@ -135,9 +126,8 @@ private void tryToCreateLineWithExistingId(LineAttachToVoltageLevelInfos tryWith tryWithExistingLine.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { LineAttachToVoltageLevelInfos lineAttachToAbsentLine = (LineAttachToVoltageLevelInfos) buildModification(); lineAttachToAbsentLine.setLineToAttachToId("absent_line_id"); String lineAttachToAbsentLineJson = mapper.writeValueAsString(lineAttachToAbsentLine); @@ -158,9 +148,8 @@ public void testCreateWithErrors() { testNetworkModificationsCount(getGroupId(), 1); } - @SneakyThrows @Test - public void testCreateWithExistingEquipments() { + public void testCreateWithExistingEquipments() throws Exception { // try to create an already existing line LineAttachToVoltageLevelInfos tryWithNewLine1Id = (LineAttachToVoltageLevelInfos) buildModification(); tryWithNewLine1Id.setNewLine1Id("line1"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInBusBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInBusBreakerTest.java index 76304dd71..3910a2047 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInBusBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInBusBreakerTest.java @@ -8,32 +8,31 @@ package org.gridsuite.modification.server.modifications; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.CurrentLimitsInfos; import org.gridsuite.modification.server.dto.LineCreationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherLineCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; +import java.util.Collections; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.BUS_NOT_FOUND; -import static org.gridsuite.modification.server.utils.MatcherLineCreationInfos.createMatcherLineCreationInfos; +import static org.gridsuite.modification.server.utils.assertions.Assertions.*; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class LineCreationInBusBreakerTest extends AbstractNetworkModificationTest { @Test - @SneakyThrows - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { LineCreationInfos lineCreationInfos = (LineCreationInfos) buildModification(); lineCreationInfos.setBusOrBusbarSectionId2("notFoundBus"); String lineCreationInfosJson = mapper.writeValueAsString(lineCreationInfos); @@ -44,8 +43,7 @@ public void testCreateWithErrors() { } @Test - @SneakyThrows - public void testCreateLineOptionalParameters() { + public void testCreateLineOptionalParameters() throws Exception { // create new line without shunt conductance or reactance LineCreationInfos lineCreationInfosNoShunt = LineCreationInfos.builder() .equipmentId("idLine1") @@ -62,14 +60,13 @@ public void testCreateLineOptionalParameters() { mockMvc.perform(post(getNetworkModificationUri()).content(lineCreationInfosNoShuntJson).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); LineCreationInfos createdModification = (LineCreationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcherLineCreationInfos(lineCreationInfosNoShunt)); + assertThat(createdModification).recursivelyEquals(lineCreationInfosNoShunt); testNetworkModificationsCount(getGroupId(), 1); } @Test - @SneakyThrows - public void testCreateLineOptionalParameters2() { + public void testCreateLineOptionalParameters2() throws Exception { // create new line without shunt conductance or reactance LineCreationInfos lineCreationInfosNoShunt = LineCreationInfos.builder() .equipmentId("idLine1") @@ -91,14 +88,13 @@ public void testCreateLineOptionalParameters2() { mockMvc.perform(post(getNetworkModificationUri()).content(lineCreationInfosNoShuntJson).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); LineCreationInfos createdModification = (LineCreationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcherLineCreationInfos(lineCreationInfosNoShunt)); + assertThat(createdModification).recursivelyEquals(lineCreationInfosNoShunt); testNetworkModificationsCount(getGroupId(), 1); } @Test - @SneakyThrows - public void testCreateLineOptionalParameters3() { + public void testCreateLineOptionalParameters3() throws Exception { LineCreationInfos lineCreationInfosPermanentLimitOK = LineCreationInfos.builder() .equipmentId("idLine2") .equipmentName("nameLine2") @@ -108,7 +104,7 @@ public void testCreateLineOptionalParameters3() { .busOrBusbarSectionId1("bus1") .voltageLevelId2("v2") .busOrBusbarSectionId2("bus2") - .currentLimits2(CurrentLimitsInfos.builder().permanentLimit(1.0).build()) + .currentLimits2(CurrentLimitsInfos.builder().permanentLimit(1.0).temporaryLimits(Collections.emptyList()).build()) .build(); String lineCreationInfosPermanentLimitOKJson = mapper.writeValueAsString(lineCreationInfosPermanentLimitOK); @@ -116,14 +112,13 @@ public void testCreateLineOptionalParameters3() { .andExpect(status().isOk()).andReturn(); LineCreationInfos createdModification = (LineCreationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcherLineCreationInfos(lineCreationInfosPermanentLimitOK)); + assertThat(createdModification).recursivelyEquals(lineCreationInfosPermanentLimitOK); testNetworkModificationsCount(getGroupId(), 1); } @Test - @SneakyThrows - public void testCreateLineOptionalParameters4() { + public void testCreateLineOptionalParameters4() throws Exception { LineCreationInfos lineCreationInfosPermanentLimitOK = LineCreationInfos.builder() .equipmentId("idLine2") .equipmentName("nameLine2") @@ -133,7 +128,7 @@ public void testCreateLineOptionalParameters4() { .busOrBusbarSectionId1("bus1") .voltageLevelId2("v2") .busOrBusbarSectionId2("bus2") - .currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.0).build()) + .currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.0).temporaryLimits(Collections.emptyList()).build()) .currentLimits2(null) .build(); @@ -143,14 +138,13 @@ public void testCreateLineOptionalParameters4() { lineCreationInfosPermanentLimitOK.setCurrentLimits2(null); // if permanentLimit is null then no currentLimit created LineCreationInfos createdModification = (LineCreationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcherLineCreationInfos(lineCreationInfosPermanentLimitOK)); + assertThat(createdModification).recursivelyEquals(lineCreationInfosPermanentLimitOK); testNetworkModificationsCount(getGroupId(), 1); } @Test - @SneakyThrows - public void testCreateLineOptionalParameters5() { + public void testCreateLineOptionalParameters5() throws Exception { LineCreationInfos lineCreationInfosPermanentLimitNOK = LineCreationInfos.builder() .equipmentId("idLine2") .equipmentName("nameLine2") @@ -169,8 +163,7 @@ public void testCreateLineOptionalParameters5() { } @Test - @SneakyThrows - public void testCreateLineOptionalParameters6() { + public void testCreateLineOptionalParameters6() throws Exception { LineCreationInfos lineCreationInfosOK = LineCreationInfos.builder() .equipmentId("idLine3") .equipmentName("nameLine3") @@ -209,8 +202,8 @@ protected ModificationInfos buildModification() { .shuntSusceptance2(20.0) .voltageLevelId1("v1") .busOrBusbarSectionId1("bus1") - .currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.).build()) - .currentLimits2(CurrentLimitsInfos.builder().permanentLimit(5.).build()) + .currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.).temporaryLimits(Collections.emptyList()).build()) + .currentLimits2(CurrentLimitsInfos.builder().permanentLimit(5.).temporaryLimits(Collections.emptyList()).build()) .voltageLevelId2("v2") .busOrBusbarSectionId2("bus2") .build(); @@ -234,11 +227,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLineCreationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineCreationInfos((LineCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getLine("idLine1")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInMixedTypologyTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInMixedTypologyTest.java index 3e1861a5c..96a2ed471 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInMixedTypologyTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInMixedTypologyTest.java @@ -11,15 +11,15 @@ import com.powsybl.iidm.network.extensions.ConnectablePosition; import org.gridsuite.modification.server.dto.LineCreationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherLineCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; +import org.junit.jupiter.api.Tag; import java.util.UUID; -import static org.gridsuite.modification.server.utils.MatcherLineCreationInfos.createMatcherLineCreationInfos; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +@Tag("IntegrationTest") public class LineCreationInMixedTypologyTest extends AbstractNetworkModificationTest { @Override @@ -78,11 +78,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLineCreationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineCreationInfos((LineCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getLine("idLine1")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInNodeBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInNodeBreakerTest.java index 69f585c9d..33164d904 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInNodeBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineCreationInNodeBreakerTest.java @@ -10,31 +10,30 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherLineCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.*; -import static org.gridsuite.modification.server.utils.MatcherLineCreationInfos.createMatcherLineCreationInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class LineCreationInNodeBreakerTest extends AbstractNetworkModificationTest { @Test - @SneakyThrows - public void testCreateWithBadVariant() { + public void testCreateWithBadVariant() throws Exception { // Test create line on not yet existing variant VARIANT_NOT_EXISTING_ID : // Only the modification should be added in the database but the line cannot be created LineCreationInfos modificationToCreate = (LineCreationInfos) buildModification(); @@ -51,8 +50,7 @@ public void testCreateWithBadVariant() { } @Test - @SneakyThrows - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { LineCreationInfos lineCreationInfos = (LineCreationInfos) buildModification(); lineCreationInfos.setEquipmentId(""); String lineCreationInfosJson = mapper.writeValueAsString(lineCreationInfos); @@ -101,8 +99,7 @@ public void testCreateWithErrors() { } @Test - @SneakyThrows - public void testCreateLineWithOnlyPermanentCurrentLimits() { + public void testCreateLineWithOnlyPermanentCurrentLimits() throws Exception { LineCreationInfos lineCreation = LineCreationInfos.builder() .equipmentId("idLineEdited") .equipmentName("nameLineEdited") @@ -140,8 +137,7 @@ public void testCreateLineWithOnlyPermanentCurrentLimits() { } @Test - @SneakyThrows - public void testCreateLineWithOnlyTemporaryCurrentLimits() { + public void testCreateLineWithOnlyTemporaryCurrentLimits() throws Exception { LineCreationInfos lineCreation = LineCreationInfos.builder() .equipmentId("idLineEdited") .equipmentName("nameLineEdited") @@ -185,8 +181,7 @@ public void testCreateLineWithOnlyTemporaryCurrentLimits() { } @Test - @SneakyThrows - public void testCreateLineWithBothCurrentLimits() { + public void testCreateLineWithBothCurrentLimits() throws Exception { LineCreationInfos lineCreation = LineCreationInfos.builder() .equipmentId("idLineEdited") .equipmentName("nameLineEdited") @@ -227,6 +222,11 @@ public void testCreateLineWithBothCurrentLimits() { assertEquals(1, createdModification.getCurrentLimits2().getTemporaryLimits().size()); testNetworkModificationsCount(getGroupId(), 1); + + assertEquals( + "LineCreationInfos(super=BranchCreationInfos(super=EquipmentCreationInfos(super=EquipmentModificationInfos(super=ModificationInfos(uuid=null, date=null), equipmentId=idLineEdited), equipmentName=nameLineEdited), seriesResistance=110.0, seriesReactance=110.0, voltageLevelId1=v2, voltageLevelId2=v1, busOrBusbarSectionId1=1A, busOrBusbarSectionId2=1.1, currentLimits1=CurrentLimitsInfos(permanentLimit=200.0, temporaryLimits=[CurrentTemporaryLimitCreationInfos(name=IT10, value=200.0, acceptableDuration=600)]), currentLimits2=CurrentLimitsInfos(permanentLimit=100.0, temporaryLimits=[CurrentTemporaryLimitCreationInfos(name=IT20, value=600.0, acceptableDuration=1200)]), connectionName1=cn1LineEdited, connectionDirection1=BOTTOM, connectionName2=cn2LineEdited, connectionDirection2=TOP, connectionPosition1=0, connectionPosition2=0), shuntConductance1=15.0, shuntSusceptance1=15.0, shuntConductance2=25.0, shuntSusceptance2=25.0)", + lineCreation.toString() + ); } @Override @@ -273,8 +273,8 @@ protected ModificationInfos buildModificationUpdate() { .busOrBusbarSectionId1("1A") .voltageLevelId2("v1") .busOrBusbarSectionId2("1.1") - .currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.).build()) - .currentLimits2(CurrentLimitsInfos.builder().permanentLimit(5.).build()) + .currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.).temporaryLimits(Collections.emptyList()).build()) + .currentLimits2(CurrentLimitsInfos.builder().permanentLimit(5.).temporaryLimits(Collections.emptyList()).build()) .connectionName1("cn1LineEdited") .connectionDirection1(ConnectablePosition.Direction.BOTTOM) .connectionName2("cn2LineEdited") @@ -284,11 +284,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLineCreationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineCreationInfos((LineCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getLine("idLine")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineModificationTest.java index b1c7f570e..0dc7658ca 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineModificationTest.java @@ -8,31 +8,30 @@ package org.gridsuite.modification.server.modifications; import com.powsybl.iidm.network.Line; -import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.LoadingLimits.TemporaryLimit; - -import lombok.SneakyThrows; - +import com.powsybl.iidm.network.Network; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherLineModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.List; import java.util.UUID; + import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_NOT_FOUND; +import static org.gridsuite.modification.server.utils.assertions.Assertions.*; +import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.hamcrest.MatcherAssert.assertThat; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; + /** * @author Ayoub LABIDI */ - +@Tag("IntegrationTest") public class LineModificationTest extends AbstractNetworkModificationTest { @Override protected Network createNetwork(UUID networkUuid) { @@ -92,12 +91,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLineModificationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherLineModificationInfos - .createMatcherLineModificationInfos((LineModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { Line modifiedLine = getNetwork().getLine("line1"); @@ -135,9 +128,8 @@ protected void assertNetworkAfterDeletion() { assertNull(line.getNullableCurrentLimits2()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { LineModificationInfos lineModificationInfos = (LineModificationInfos) buildModification(); lineModificationInfos.setEquipmentId("lineNotFound"); String lineModificationInfosJson = mapper.writeValueAsString(lineModificationInfos); @@ -149,9 +141,8 @@ public void testCreateWithErrors() { lineModificationInfos.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testPermanentLimitUnchanged() { + public void testPermanentLimitUnchanged() throws Exception { LineModificationInfos lineModificationInfos = (LineModificationInfos) buildModification(); lineModificationInfos.getCurrentLimits1().setPermanentLimit(null); @@ -163,12 +154,11 @@ public void testPermanentLimitUnchanged() { LineModificationInfos createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); } - @SneakyThrows @Test - public void testCharacteristicsModification() { + public void testCharacteristicsModification() throws Exception { LineModificationInfos lineModificationInfos = (LineModificationInfos) buildModification(); // Modify Series Reactance @@ -181,7 +171,7 @@ public void testCharacteristicsModification() { LineModificationInfos createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // Modify Series Resistance lineModificationInfos.setSeriesReactance(null); @@ -193,7 +183,7 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(1); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // Modify Shunt Conductance1 lineModificationInfos.setSeriesResistance(null); @@ -205,7 +195,7 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(2); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // Modify Shunt Susceptance1 lineModificationInfos.setShuntConductance1(null); @@ -217,7 +207,7 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(3); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // Modify Shunt Conductance2 lineModificationInfos.setShuntSusceptance1(null); @@ -229,7 +219,7 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(4); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // Modify Shunt Susceptance2 lineModificationInfos.setShuntConductance2(null); @@ -241,7 +231,7 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(5); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // no modification lineModificationInfos.setShuntSusceptance2(null); @@ -252,7 +242,7 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(6); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); // Modify all lineModificationInfos.setSeriesReactance(new AttributeModification<>(1.0, OperationType.SET)); @@ -270,12 +260,11 @@ public void testCharacteristicsModification() { createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true) .get(7); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); } - @SneakyThrows @Test - public void testTemporaryLimitsModification() { + public void testTemporaryLimitsModification() throws Exception { Line line = getNetwork().getLine("line1"); line.newCurrentLimits1() .setPermanentLimit(10.0) @@ -298,7 +287,8 @@ public void testTemporaryLimitsModification() { .setValue(15.0) .endTemporaryLimit() .add(); - LineModificationInfos lineModificationInfos = LineModificationInfos.builder().equipmentId("line1") + LineModificationInfos lineModificationInfos = LineModificationInfos.builder() + .equipmentId("line1") .equipmentName(new AttributeModification<>("LineModified", OperationType.SET)) .currentLimits1(CurrentLimitsModificationInfos.builder() .temporaryLimits(List.of(CurrentTemporaryLimitModificationInfos.builder() @@ -325,6 +315,6 @@ public void testTemporaryLimitsModification() { LineModificationInfos createdModification = (LineModificationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(lineModificationInfos)); + assertThat(createdModification).recursivelyEquals(lineModificationInfos); } } diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithNewVoltageLevelTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithNewVoltageLevelTest.java index 568ede52e..f2a30e39f 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithNewVoltageLevelTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithNewVoltageLevelTest.java @@ -8,34 +8,31 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.SwitchKind; - -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.CouplingDeviceInfos; import org.gridsuite.modification.server.dto.LineSplitWithVoltageLevelInfos; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.VoltageLevelCreationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.Arrays; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_NOT_FOUND; -import static org.gridsuite.modification.server.utils.MatcherLineSplitWithVoltageLevelInfos.createMatcherLineSplitWithVoltageLevelInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class LineSplitWithNewVoltageLevelTest extends AbstractNetworkModificationTest { - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { LineSplitWithVoltageLevelInfos lineSplitAbsentLine = (LineSplitWithVoltageLevelInfos) buildModification(); lineSplitAbsentLine.setLineToSplitId("absent_line_id"); String lineSplitAbsentLineJson = mapper.writeValueAsString(lineSplitAbsentLine); @@ -96,11 +93,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineSplitWithVoltageLevelInfos((LineSplitWithVoltageLevelInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNull(getNetwork().getLine("line2")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithVoltageLevelTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithVoltageLevelTest.java index 7c5cfdf19..3a403be76 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithVoltageLevelTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LineSplitWithVoltageLevelTest.java @@ -8,13 +8,14 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.SwitchKind; - -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; -import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; +import org.gridsuite.modification.server.dto.CouplingDeviceInfos; +import org.gridsuite.modification.server.dto.LineSplitWithVoltageLevelInfos; +import org.gridsuite.modification.server.dto.ModificationInfos; +import org.gridsuite.modification.server.dto.VoltageLevelCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.Arrays; @@ -22,13 +23,13 @@ import static org.gridsuite.modification.server.NetworkModificationException.Type.BUSBAR_SECTION_NOT_FOUND; import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_ALREADY_EXISTS; -import static org.gridsuite.modification.server.utils.MatcherLineSplitWithVoltageLevelInfos.createMatcherLineSplitWithVoltageLevelInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class LineSplitWithVoltageLevelTest extends AbstractNetworkModificationTest { @Override @@ -81,11 +82,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLineSplitWithVoltageLevelInfos((LineSplitWithVoltageLevelInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNull(getNetwork().getLine("line2")); @@ -100,9 +96,8 @@ protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getLine("nl2v")); } - @SneakyThrows @Test - public void testCreateWithExistingLines() { + public void testCreateWithExistingLines() throws Exception { // try to create an already existing line LineSplitWithVoltageLevelInfos tryWithNewLine1Id = (LineSplitWithVoltageLevelInfos) buildModification(); tryWithNewLine1Id.setNewLine1Id("line1"); @@ -122,9 +117,8 @@ public void testCreateWithExistingLines() { tryWithNewLine2Id.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testCreateWithWrongBusBar() { + public void testCreateWithWrongBusBar() throws Exception { // not existing busbar LineSplitWithVoltageLevelInfos tryWithBadId = (LineSplitWithVoltageLevelInfos) buildModification(); tryWithBadId.setBbsOrBusId("999A"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LinesAttachToSplitLinesTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LinesAttachToSplitLinesTest.java index 7697ff514..0ec2a2306 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LinesAttachToSplitLinesTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LinesAttachToSplitLinesTest.java @@ -7,20 +7,18 @@ package org.gridsuite.modification.server.modifications; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.LinesAttachToSplitLinesInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; import org.gridsuite.modification.server.utils.NetworkWithTeePoint; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_ALREADY_EXISTS; import static org.gridsuite.modification.server.NetworkModificationException.Type.LINE_NOT_FOUND; -import static org.gridsuite.modification.server.utils.MatcherLinesAttachToSplitLinesInfos.createMatcherLinesAttachToSplitLinesInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; @@ -29,6 +27,7 @@ /** * @author David Braquart */ +@Tag("IntegrationTest") public class LinesAttachToSplitLinesTest extends AbstractNetworkModificationTest { @Override @@ -66,11 +65,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherLinesAttachToSplitLinesInfos((LinesAttachToSplitLinesInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { // 3 lines are gone @@ -96,9 +90,8 @@ protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getLine("nl2")); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // use an unexisting line LinesAttachToSplitLinesInfos linesAttachToSplitLinesInfos = (LinesAttachToSplitLinesInfos) buildModification(); linesAttachToSplitLinesInfos.setLineToAttachTo1Id("absent_line_id"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInBusBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInBusBreakerTest.java index eb1f5030d..46d85cbe3 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInBusBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInBusBreakerTest.java @@ -12,14 +12,15 @@ import com.powsybl.iidm.network.extensions.ConnectablePosition; import org.gridsuite.modification.server.dto.LoadCreationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherLoadCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; +import org.junit.jupiter.api.Tag; import java.util.UUID; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +@Tag("IntegrationTest") public class LoadCreationInBusBreakerTest extends AbstractNetworkModificationTest { @Override protected Network createNetwork(UUID networkUuid) { @@ -56,11 +57,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLoadCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherLoadCreationInfos.createMatcherLoadCreationInfos((LoadCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getLoad("idLoad1")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInNodeBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInNodeBreakerTest.java index fbeedbb1d..11230c41b 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInNodeBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LoadCreationInNodeBreakerTest.java @@ -11,31 +11,31 @@ import com.powsybl.iidm.network.LoadType; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.LoadCreationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.NetworkModificationResult; -import org.gridsuite.modification.server.utils.MatcherLoadCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; import java.util.Optional; import java.util.UUID; -import static org.gridsuite.modification.server.NetworkModificationException.Type.*; +import static org.gridsuite.modification.server.NetworkModificationException.Type.BUSBAR_SECTION_NOT_FOUND; +import static org.gridsuite.modification.server.NetworkModificationException.Type.VOLTAGE_LEVEL_NOT_FOUND; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class LoadCreationInNodeBreakerTest extends AbstractNetworkModificationTest { - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // Create load without connection name and UNDEFINED direction LoadCreationInfos loadCreationInfos1 = (LoadCreationInfos) buildModification(); loadCreationInfos1.setConnectionDirection(null); @@ -127,11 +127,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLoadCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherLoadCreationInfos.createMatcherLoadCreationInfos((LoadCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getLoad("idLoad1")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LoadModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LoadModificationTest.java index e425c6111..fbd5e7fe4 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LoadModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LoadModificationTest.java @@ -10,14 +10,13 @@ import com.powsybl.iidm.network.Load; import com.powsybl.iidm.network.LoadType; import com.powsybl.iidm.network.Network; -import lombok.SneakyThrows; import org.gridsuite.modification.server.dto.AttributeModification; import org.gridsuite.modification.server.dto.LoadModificationInfos; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.OperationType; -import org.gridsuite.modification.server.utils.MatcherLoadModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; @@ -28,6 +27,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class LoadModificationTest extends AbstractNetworkModificationTest { @Override @@ -57,11 +57,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLoadModificationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherLoadModificationInfos.createMatcherLoadModificationInfos((LoadModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { Load modifiedLoad = getNetwork().getLoad("v1load"); @@ -82,9 +77,8 @@ protected void assertNetworkAfterDeletion() { assertEquals("v1load", modifiedLoad.getNameOrId()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // Unset an attribute that should not be null LoadModificationInfos loadModificationInfos = LoadModificationInfos.builder() .equipmentId("v1load") diff --git a/src/test/java/org/gridsuite/modification/server/modifications/LoadScalingTest.java b/src/test/java/org/gridsuite/modification/server/modifications/LoadScalingTest.java index 51662ec62..b7ac9eee5 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/LoadScalingTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/LoadScalingTest.java @@ -12,18 +12,17 @@ import com.powsybl.iidm.network.IdentifiableType; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.ReactiveVariationMode; import org.gridsuite.modification.server.VariationMode; import org.gridsuite.modification.server.VariationType; import org.gridsuite.modification.server.dto.*; import org.gridsuite.modification.server.service.FilterService; -import org.gridsuite.modification.server.utils.MatcherLoadScalingInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.hamcrest.core.IsNull; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.time.ZonedDateTime; @@ -44,6 +43,7 @@ /** * @author bendaamerahm */ +@Tag("IntegrationTest") public class LoadScalingTest extends AbstractNetworkModificationTest { private static final UUID LOAD_SCALING_ID = UUID.randomUUID(); @@ -88,7 +88,6 @@ public class LoadScalingTest extends AbstractNetworkModificationTest { public static final String LOAD_WRONG_ID_2 = "wrongId2"; public static final String PATH = "/v1/filters/export"; - @SneakyThrows @Before public void specificSetUp() { FilterService.setFilterServerBaseUri(wireMockServer.baseUrl()); @@ -132,9 +131,8 @@ private List getTestFilters() { } @Test - @SneakyThrows @Override - public void testCreate() { + public void testCreate() throws Exception { List filters = getTestFilters(); UUID stubId = wireMockServer.stubFor(WireMock.get(WireMock.urlMatching(getPath(getNetworkUuid(), true) + "(.+,){4}.*")) .willReturn(WireMock.ok() @@ -147,9 +145,8 @@ public void testCreate() { } @Test - @SneakyThrows @Override - public void testCopy() { + public void testCopy() throws Exception { List filters = getTestFilters(); UUID stubId = wireMockServer.stubFor(WireMock.get(WireMock.urlMatching(getPath(getNetworkUuid(), true) + "(.+,){4}.*")) .willReturn(WireMock.ok() @@ -161,9 +158,8 @@ public void testCopy() { wireMockUtils.verifyGetRequest(stubId, PATH, handleQueryParams(getNetworkUuid(), filters.stream().map(FilterEquipments::getFilterId).collect(Collectors.toList())), false); } - @SneakyThrows @Test - public void testVentilationModeWithoutDistributionKey() { + public void testVentilationModeWithoutDistributionKey() throws Exception { IdentifiableAttributes loadNoDK1 = getIdentifiableAttributes(LOAD_ID_2, null); IdentifiableAttributes loadNoDK2 = getIdentifiableAttributes(LOAD_ID_3, null); FilterEquipments noDistributionKeyFilter = getFilterEquipments(FILTER_NO_DK, "noDistributionKeyFilter", List.of(loadNoDK1, loadNoDK2), List.of()); @@ -200,9 +196,8 @@ public void testVentilationModeWithoutDistributionKey() { assertEquals(200, getNetwork().getLoad(LOAD_ID_3).getP0(), 0.01D); } - @SneakyThrows @Test - public void testFilterWithWrongIds() { + public void testFilterWithWrongIds() throws Exception { IdentifiableAttributes loadWrongId1 = getIdentifiableAttributes(LOAD_WRONG_ID_1, 2.0); IdentifiableAttributes loadWrongId2 = getIdentifiableAttributes(LOAD_WRONG_ID_2, 3.0); FilterEquipments wrongIdFilter1 = getFilterEquipments(FILTER_WRONG_ID_1, "wrongIdFilter1", List.of(loadWrongId1, loadWrongId2), List.of(LOAD_WRONG_ID_1, LOAD_WRONG_ID_2)); @@ -237,9 +232,8 @@ public void testFilterWithWrongIds() { wireMockUtils.verifyGetRequest(stubWithWrongId, PATH, handleQueryParams(getNetworkUuid(), FILTER_WRONG_ID_1), false); } - @SneakyThrows @Test - public void testScalingCreationWithWarning() { + public void testScalingCreationWithWarning() throws Exception { String params = "(" + FILTER_ID_5 + "|" + FILTER_WRONG_ID_2 + ")"; IdentifiableAttributes loadWrongId1 = getIdentifiableAttributes(LOAD_WRONG_ID_1, 2.0); IdentifiableAttributes load10 = getIdentifiableAttributes(LOAD_ID_10, 9.0); @@ -385,11 +379,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherLoadScalingInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherLoadScalingInfos.createMatcherLoadScalingInfos((LoadScalingInfos) modificationInfos); - } - //TODO update values after PowSyBl release @Override protected void assertNetworkAfterCreation() { diff --git a/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInBusBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInBusBreakerTest.java index 30313db5f..81e82aca7 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInBusBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInBusBreakerTest.java @@ -9,13 +9,12 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.ShuntCompensatorCreationInfos; -import org.gridsuite.modification.server.utils.MatcherShuntCompensatorCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.time.ZonedDateTime; @@ -29,11 +28,11 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class ShuntCompensatorCreationInBusBreakerTest extends AbstractNetworkModificationTest { - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { ShuntCompensatorCreationInfos shunt = (ShuntCompensatorCreationInfos) buildModification(); shunt.setCurrentNumberOfSections(6); shunt.setMaximumNumberOfSections(2); @@ -90,11 +89,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherShuntCompensatorCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherShuntCompensatorCreationInfos.createMatcher((ShuntCompensatorCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getShuntCompensator("shuntOneId")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInNodeBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInNodeBreakerTest.java index 2d6ab4f85..99b35a726 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInNodeBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorCreationInNodeBreakerTest.java @@ -9,14 +9,13 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.ShuntCompensatorCreationInfos; import org.gridsuite.modification.server.dto.ShuntCompensatorType; -import org.gridsuite.modification.server.utils.MatcherShuntCompensatorCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.time.ZonedDateTime; @@ -25,13 +24,14 @@ import static org.gridsuite.modification.server.NetworkModificationException.Type.CONNECTION_POSITION_ERROR; import static org.gridsuite.modification.server.NetworkModificationException.Type.SHUNT_COMPENSATOR_ALREADY_EXISTS; +import static org.gridsuite.modification.server.utils.assertions.Assertions.*; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class ShuntCompensatorCreationInNodeBreakerTest extends AbstractNetworkModificationTest { @Override @@ -74,11 +74,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherShuntCompensatorCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherShuntCompensatorCreationInfos.createMatcher((ShuntCompensatorCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getShuntCompensator("shuntOneId")); @@ -89,9 +84,8 @@ protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getShuntCompensator("shuntOneId")); } - @SneakyThrows @Test - public void testCreateWithError() { + public void testCreateWithError() throws Exception { ShuntCompensatorCreationInfos modificationToCreate = (ShuntCompensatorCreationInfos) buildModification(); // Current number of sections above maximum allowed modificationToCreate.setIsIdenticalSection(false); @@ -112,9 +106,8 @@ public void testCreateWithError() { modificationToCreate.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testCreateWithExistingConnectionPosition() { + public void testCreateWithExistingConnectionPosition() throws Exception { ShuntCompensatorCreationInfos dto = (ShuntCompensatorCreationInfos) buildModification(); dto.setConnectionPosition(2); String modificationToCreateJson = mapper.writeValueAsString(dto); @@ -124,9 +117,8 @@ public void testCreateWithExistingConnectionPosition() { dto.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testCreateWithQAtNominalV() { + public void testCreateWithQAtNominalV() throws Exception { ShuntCompensatorCreationInfos dto = (ShuntCompensatorCreationInfos) buildModification(); dto.setSusceptancePerSection(null); dto.setQAtNominalV(80.0); @@ -136,7 +128,7 @@ public void testCreateWithQAtNominalV() { mockMvc.perform(post(getNetworkModificationUri()).content(modificationToCreateJson).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); ShuntCompensatorCreationInfos createdModification = (ShuntCompensatorCreationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(dto)); + assertThat(createdModification).recursivelyEquals(dto); //REACTOR test dto.setShuntCompensatorType(ShuntCompensatorType.REACTOR); dto.setEquipmentId("shuntTwoId"); @@ -145,6 +137,6 @@ public void testCreateWithQAtNominalV() { mockMvc.perform(post(getNetworkModificationUri()).content(modificationToCreateJson).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); createdModification = (ShuntCompensatorCreationInfos) modificationRepository.getModifications(getGroupId(), false, true).get(1); - assertThat(createdModification, createMatcher(dto)); + assertThat(createdModification).recursivelyEquals(dto); } } diff --git a/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorModificationTest.java index 457b23df9..ddb42e48c 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/ShuntCompensatorModificationTest.java @@ -11,13 +11,7 @@ import com.powsybl.iidm.network.ShuntCompensatorLinearModel; import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; -import org.gridsuite.modification.server.dto.AttributeModification; -import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.dto.OperationType; -import org.gridsuite.modification.server.dto.ShuntCompensatorModificationInfos; -import org.gridsuite.modification.server.dto.ShuntCompensatorType; -import org.gridsuite.modification.server.utils.MatcherModificationInfos; -import org.gridsuite.modification.server.utils.MatcherShuntCompensatorModificationInfos; +import org.gridsuite.modification.server.dto.*; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; import org.springframework.http.MediaType; @@ -165,11 +159,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherModificationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherShuntCompensatorModificationInfos.createMatcherShuntCompensatorModificationInfos((ShuntCompensatorModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { var shuntCompensator = getNetwork().getShuntCompensator("v2shunt"); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/SubstationCreationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/SubstationCreationTest.java index fe20cf3bc..489c04ee4 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/SubstationCreationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/SubstationCreationTest.java @@ -10,12 +10,11 @@ import com.powsybl.iidm.network.Country; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.Substation; -import lombok.SneakyThrows; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.SubstationCreationInfos; -import org.gridsuite.modification.server.utils.MatcherSubstationCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.Map; @@ -26,6 +25,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class SubstationCreationTest extends AbstractNetworkModificationTest { @Override @@ -53,11 +53,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherSubstationCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherSubstationCreationInfos.createMatcherSubstationCreationInfos((SubstationCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { Substation substation = getNetwork().getSubstation("SubstationId"); @@ -70,9 +65,8 @@ protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getSubstation("SubstationId")); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { SubstationCreationInfos substationCreationInfos = (SubstationCreationInfos) buildModification(); substationCreationInfos.setEquipmentId(""); String substationCreationInfosJson = mapper.writeValueAsString(substationCreationInfos); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/SubstationModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/SubstationModificationTest.java index 171a9f83d..ac832bcc7 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/SubstationModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/SubstationModificationTest.java @@ -7,12 +7,13 @@ package org.gridsuite.modification.server.modifications; -import com.powsybl.iidm.network.*; +import com.powsybl.iidm.network.Country; +import com.powsybl.iidm.network.Network; +import com.powsybl.iidm.network.Substation; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherSubstationModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; -import lombok.SneakyThrows; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.List; @@ -28,6 +29,7 @@ /** * @author David Braquart */ +@Tag("IntegrationTest") public class SubstationModificationTest extends AbstractNetworkModificationTest { @Override @@ -54,15 +56,10 @@ protected ModificationInfos buildModificationUpdate() { .equipmentId("s3") .equipmentName(new AttributeModification<>("newNameEdited1", OperationType.SET)) .substationCountry(new AttributeModification<>(Country.JP, OperationType.SET)) - .properties(List.of()) + .properties(null) .build(); } - @Override - protected MatcherSubstationModificationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherSubstationModificationInfos.createMatcherSubstationModificationInfos((SubstationModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { Substation modifiedStation = getNetwork().getSubstation("s3"); @@ -88,9 +85,8 @@ protected void assertNetworkAfterDeletion() { assertEquals("west", modifiedStation.getProperty("region", "")); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { // Try to modify an unknown substation SubstationModificationInfos infos = SubstationModificationInfos.builder() .equipmentId("unknown") diff --git a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationBusBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationBusBreakerTest.java index 0200efffc..334563646 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationBusBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationBusBreakerTest.java @@ -11,12 +11,11 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.PhaseTapChanger; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherTwoWindingsTransformerCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; @@ -26,12 +25,12 @@ import static org.gridsuite.modification.server.Impacts.TestImpactUtils.testElementCreationImpact; import static org.gridsuite.modification.server.NetworkModificationException.Type.BUS_NOT_FOUND; -import static org.gridsuite.modification.server.utils.MatcherTwoWindingsTransformerCreationInfos.createMatcherTwoWindingsTransformerCreationInfos; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class TwoWindingsTransformerCreationBusBreakerTest extends AbstractNetworkModificationTest { @Override @@ -249,14 +248,8 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherTwoWindingsTransformerCreationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherTwoWindingsTransformerCreationInfos((TwoWindingsTransformerCreationInfos) modificationInfos); - } - - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { TwoWindingsTransformerCreationInfos twoWindingsTransformerCreationInfos = (TwoWindingsTransformerCreationInfos) buildModification(); twoWindingsTransformerCreationInfos.setEquipmentId(""); String twoWindingsTransformerCreationInfosJson = mapper.writeValueAsString(twoWindingsTransformerCreationInfos); @@ -287,7 +280,6 @@ protected void assertNetworkAfterCreation() { assertEquals(PhaseTapChanger.RegulationMode.CURRENT_LIMITER, getNetwork().getTwoWindingsTransformer("new2wt").getPhaseTapChanger().getRegulationMode()); } - @SneakyThrows @Override protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getTwoWindingsTransformer("new2wt")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationMixedBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationMixedBreakerTest.java index 44673e2e6..eb13538d6 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationMixedBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationMixedBreakerTest.java @@ -10,12 +10,11 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.PhaseTapChanger; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherTwoWindingsTransformerCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.List; @@ -26,6 +25,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class TwoWindingsTransformerCreationMixedBreakerTest extends AbstractNetworkModificationTest { @Override @@ -241,11 +241,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherTwoWindingsTransformerCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherTwoWindingsTransformerCreationInfos.createMatcherTwoWindingsTransformerCreationInfos((TwoWindingsTransformerCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getTwoWindingsTransformer("id2wt1")); @@ -268,9 +263,8 @@ protected void assertNetworkAfterDeletion() { assertEquals(0, getNetwork().getVoltageLevel("v3").getTwoWindingsTransformerStream().filter(transformer -> transformer.getId().equals("id2wt1")).count()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { TwoWindingsTransformerCreationInfos twoWindingsTransformerCreationInfos = (TwoWindingsTransformerCreationInfos) buildModification(); twoWindingsTransformerCreationInfos.setEquipmentId(""); String twoWindingsTransformerCreationInfosJson = mapper.writeValueAsString(twoWindingsTransformerCreationInfos); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationNodeBreakerTest.java b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationNodeBreakerTest.java index d1755dd30..c8f29978b 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationNodeBreakerTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerCreationNodeBreakerTest.java @@ -12,12 +12,11 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.PhaseTapChanger; import com.powsybl.iidm.network.extensions.ConnectablePosition; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherTwoWindingsTransformerCreationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; @@ -32,6 +31,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +@Tag("IntegrationTest") public class TwoWindingsTransformerCreationNodeBreakerTest extends AbstractNetworkModificationTest { @Override @@ -249,11 +249,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherTwoWindingsTransformerCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherTwoWindingsTransformerCreationInfos.createMatcherTwoWindingsTransformerCreationInfos((TwoWindingsTransformerCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getTwoWindingsTransformer("new2wt")); @@ -269,7 +264,6 @@ protected void assertNetworkAfterCreation() { assertEquals(PhaseTapChanger.RegulationMode.CURRENT_LIMITER, getNetwork().getTwoWindingsTransformer("new2wt").getPhaseTapChanger().getRegulationMode()); } - @SneakyThrows @Override protected void assertNetworkAfterDeletion() { assertNull(getNetwork().getTwoWindingsTransformer("new2wt")); @@ -277,9 +271,8 @@ protected void assertNetworkAfterDeletion() { assertEquals(0, getNetwork().getVoltageLevel("v2").getTwoWindingsTransformerStream().filter(transformer -> transformer.getId().equals("new2wt")).count()); } - @SneakyThrows @Test - public void testCreateTwoWindingsTransformerWithRatioTapChangerInNodeBreaker() { + public void testCreateTwoWindingsTransformerWithRatioTapChangerInNodeBreaker() throws Exception { // create new 2wt in voltage level with Node/breaker topology, having a RatioTapChanger RatioTapChangerCreationInfos ratioTapChangerCreationInfos = RatioTapChangerCreationInfos.builder() .lowTapPosition(0) @@ -331,6 +324,11 @@ public void testCreateTwoWindingsTransformerWithRatioTapChangerInNodeBreaker() { .ratioTapChanger(ratioTapChangerCreationInfos) .build(); testCreateTwoWindingsTransformerInNodeBreaker(twoWindingsTransformerCreationInfos2, 2); + + assertEquals( + "TwoWindingsTransformerCreationInfos(super=BranchCreationInfos(super=EquipmentCreationInfos(super=EquipmentModificationInfos(super=ModificationInfos(uuid=null, date=null), equipmentId=id2wt1WithRatioTapChanger2), equipmentName=2wtName), seriesResistance=400.0, seriesReactance=300.0, voltageLevelId1=v1, voltageLevelId2=v4, busOrBusbarSectionId1=1.1, busOrBusbarSectionId2=1.A, currentLimits1=null, currentLimits2=null, connectionName1=null, connectionDirection1=TOP, connectionName2=null, connectionDirection2=TOP, connectionPosition1=null, connectionPosition2=null), magnetizingConductance=100.0, magnetizingSusceptance=200.0, ratedVoltage1=1000.0, ratedVoltage2=1010.0, ratedS=null, ratioTapChanger=RatioTapChangerCreationInfos(super=TapChangerCreationInfos(lowTapPosition=0, tapPosition=1, regulating=true, targetDeadband=null, regulatingTerminalId=v1load, regulatingTerminalType=LOAD, regulatingTerminalVlId=v1, steps=[TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78473, x=39.784725, g=0.0, b=0.0, alpha=0.0), TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78474, x=39.784726, g=0.0, b=0.0, alpha=0.0), TapChangerStepCreationInfos(index=0, rho=1.0, r=39.78475, x=39.784727, g=0.0, b=0.0, alpha=0.0)]), loadTapChangingCapabilities=true, targetV=220.0), phaseTapChanger=null)", + twoWindingsTransformerCreationInfos2.toString() + ); } @Test @@ -438,9 +436,8 @@ public void testCreateTwoWindingsTransformerWithPhaseTapChangerInNodeBreaker() t testCreateTwoWindingsTransformerInNodeBreaker(twoWindingsTransformerCreationInfos3, 3); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { TwoWindingsTransformerCreationInfos twoWindingsTransformerCreationInfos = (TwoWindingsTransformerCreationInfos) buildModification(); twoWindingsTransformerCreationInfos.setEquipmentId(""); String twoWindingsTransformerCreationInfosJson = mapper.writeValueAsString(twoWindingsTransformerCreationInfos); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerModificationTest.java index 8b5ee1438..d2aa70c77 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/TwoWindingsTransformerModificationTest.java @@ -10,12 +10,11 @@ import com.powsybl.iidm.network.LoadingLimits; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.TwoWindingsTransformer; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.utils.MatcherTwoWindingsTransformerModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.List; @@ -32,6 +31,7 @@ /** * @author Florent MILLOT */ +@Tag("IntegrationTest") public class TwoWindingsTransformerModificationTest extends AbstractNetworkModificationTest { @Override @@ -100,11 +100,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherTwoWindingsTransformerModificationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherTwoWindingsTransformerModificationInfos.createMatcherTwoWindingsTransformerModificationInfos((TwoWindingsTransformerModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { TwoWindingsTransformer modifiedTwoWindingsTransformer = getNetwork().getTwoWindingsTransformer("trf1"); @@ -136,7 +131,6 @@ protected void assertNetworkAfterCreation() { assertEquals(42.0, temporaryLimit.getValue()); } - @SneakyThrows @Override protected void assertNetworkAfterDeletion() { TwoWindingsTransformer modifiedTwoWindingsTransformer = getNetwork().getTwoWindingsTransformer("trf1"); @@ -157,9 +151,8 @@ protected void assertNetworkAfterDeletion() { assertNull(modifiedTwoWindingsTransformer.getNullableCurrentLimits2()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { TwoWindingsTransformerModificationInfos twoWindingsTransformerModificationInfos = (TwoWindingsTransformerModificationInfos) buildModification(); twoWindingsTransformerModificationInfos.setEquipmentId("2wt_not_existing"); String modificationInfosJson = mapper.writeValueAsString(twoWindingsTransformerModificationInfos); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelCreationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelCreationTest.java index 256c6d528..a87cb0f19 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelCreationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelCreationTest.java @@ -8,23 +8,22 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.SwitchKind; -import lombok.SneakyThrows; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.CouplingDeviceInfos; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.VoltageLevelCreationInfos; -import org.gridsuite.modification.server.utils.MatcherVoltageLevelCreationInfos; import org.gridsuite.modification.server.utils.ModificationCreation; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.Arrays; import java.util.UUID; import static org.gridsuite.modification.server.NetworkModificationException.Type.*; +import static org.gridsuite.modification.server.utils.assertions.Assertions.assertThat; import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @@ -32,6 +31,7 @@ /** * @author walid Sahnoun */ +@Tag("IntegrationTest") public class VoltageLevelCreationTest extends AbstractNetworkModificationTest { @Override @@ -62,11 +62,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherVoltageLevelCreationInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherVoltageLevelCreationInfos.createMatcherVoltageLevelCreationInfos((VoltageLevelCreationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNotNull(getNetwork().getVoltageLevel("vlId")); @@ -89,9 +84,8 @@ protected void assertNetworkAfterDeletion() { assertEquals(0, getNetwork().getSubstation("s2").getVoltageLevelStream().filter(vl -> vl.getId().equals("vlId")).count()); } - @SneakyThrows @Test - public void testCreateWithErrors() { + public void testCreateWithErrors() throws Exception { VoltageLevelCreationInfos vli = (VoltageLevelCreationInfos) buildModification(); vli.setSubstationId("absent_station"); @@ -137,9 +131,8 @@ public void testCreateWithErrors() { vli.getErrorType().name(), reportService); } - @SneakyThrows @Test - public void testCreateWithBbsNotExist() { + public void testCreateWithBbsNotExist() throws Exception { VoltageLevelCreationInfos vli = (VoltageLevelCreationInfos) buildModification(); vli.setEquipmentId("vl_1"); vli.getCouplingDevices().get(0).setBusbarSectionId1("1.1"); @@ -158,9 +151,7 @@ public void testCreateWithBbsNotExist() { assertNotNull(getNetwork().getVoltageLevel("vl_2")); } - @SneakyThrows - @Test - public void testCreateWithShortCircuitExtension() { + public void testCreateWithShortCircuitExtension() throws Exception { VoltageLevelCreationInfos vli = (VoltageLevelCreationInfos) buildModification(); vli.setIpMin(null); @@ -170,7 +161,7 @@ public void testCreateWithShortCircuitExtension() { .andExpect(status().isOk()).andReturn(); VoltageLevelCreationInfos createdModification = (VoltageLevelCreationInfos) modificationRepository .getModifications(getGroupId(), false, true).get(0); - assertThat(createdModification, createMatcher(vli)); + assertThat(createdModification).recursivelyEquals(vli); vli.setIpMin(0.0); vli.setIpMax(null); @@ -182,6 +173,6 @@ public void testCreateWithShortCircuitExtension() { .andExpect(status().isOk()).andReturn(); createdModification = (VoltageLevelCreationInfos) modificationRepository .getModifications(getGroupId(), false, true).get(1); - assertThat(createdModification, createMatcher(vli)); + assertThat(createdModification).recursivelyEquals(vli); } } diff --git a/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelDeletionTest.java b/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelDeletionTest.java index 7c8e67d73..7d0c95f65 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelDeletionTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelDeletionTest.java @@ -9,7 +9,6 @@ import com.powsybl.iidm.network.Network; import org.gridsuite.modification.server.dto.EquipmentDeletionInfos; import org.gridsuite.modification.server.dto.ModificationInfos; -import org.gridsuite.modification.server.utils.MatcherEquipmentDeletionInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import java.util.UUID; @@ -42,11 +41,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherEquipmentDeletionInfos createMatcher(ModificationInfos modificationInfos) { - return MatcherEquipmentDeletionInfos.createMatcherEquipmentDeletionInfos((EquipmentDeletionInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { assertNull(getNetwork().getVoltageLevel("v1")); diff --git a/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelModificationTest.java b/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelModificationTest.java index 6df07b322..af30d2881 100644 --- a/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelModificationTest.java +++ b/src/test/java/org/gridsuite/modification/server/modifications/VoltageLevelModificationTest.java @@ -10,29 +10,25 @@ import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.VoltageLevel; import com.powsybl.iidm.network.extensions.IdentifiableShortCircuit; -import lombok.SneakyThrows; import org.gridsuite.modification.server.dto.AttributeModification; import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.dto.OperationType; import org.gridsuite.modification.server.dto.VoltageLevelModificationInfos; -import org.gridsuite.modification.server.utils.MatcherVoltageLevelModificationInfos; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.springframework.http.MediaType; import java.util.UUID; -import static org.gridsuite.modification.server.utils.MatcherVoltageLevelModificationInfos.createMatcherVoltageLevelModificationInfos; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.Assert.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** * @author Seddik Yengui */ - +@Tag("IntegrationTest") public class VoltageLevelModificationTest extends AbstractNetworkModificationTest { @Override protected Network createNetwork(UUID networkUuid) { @@ -65,11 +61,6 @@ protected ModificationInfos buildModificationUpdate() { .build(); } - @Override - protected MatcherVoltageLevelModificationInfos createMatcher(ModificationInfos modificationInfos) { - return createMatcherVoltageLevelModificationInfos((VoltageLevelModificationInfos) modificationInfos); - } - @Override protected void assertNetworkAfterCreation() { VoltageLevel voltageLevel = getNetwork().getVoltageLevel("v1"); @@ -95,9 +86,8 @@ protected void assertNetworkAfterDeletion() { assertEquals(Double.NaN, voltageLevel.getHighVoltageLimit(), 0); } - @SneakyThrows @Test - public void testModifyShortCircuitExtension() { + public void testModifyShortCircuitExtension() throws Exception { VoltageLevelModificationInfos infos = (VoltageLevelModificationInfos) buildModification(); applyModification(infos); @@ -124,8 +114,7 @@ public void testModifyShortCircuitExtension() { assertEquals(0.2, identifiableShortCircuit2.getIpMin(), 0); } - @SneakyThrows - private void applyModification(VoltageLevelModificationInfos infos) { + private void applyModification(VoltageLevelModificationInfos infos) throws Exception { mockMvc.perform(post(getNetworkModificationUri()) .content(mapper.writeValueAsString(infos)) .contentType(MediaType.APPLICATION_JSON)) diff --git a/src/test/java/org/gridsuite/modification/server/service/BuildTest.java b/src/test/java/org/gridsuite/modification/server/service/BuildTest.java index 976e8b0a4..5ba0321d7 100644 --- a/src/test/java/org/gridsuite/modification/server/service/BuildTest.java +++ b/src/test/java/org/gridsuite/modification/server/service/BuildTest.java @@ -13,7 +13,6 @@ import com.powsybl.iidm.network.*; import com.powsybl.iidm.network.extensions.*; import com.powsybl.network.store.client.NetworkStoreService; -import lombok.SneakyThrows; import okhttp3.HttpUrl; import okhttp3.mockwebserver.Dispatcher; import okhttp3.mockwebserver.MockResponse; @@ -39,6 +38,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.junit.runner.RunWith; import org.mockito.stubbing.Answer; import org.slf4j.Logger; @@ -81,8 +81,8 @@ @AutoConfigureMockMvc @SpringBootTest @ContextConfigurationWithTestChannel +@Tag("IntegrationTest") public class BuildTest { - private static final Logger LOGGER = LoggerFactory.getLogger(BuildTest.class); @Autowired @@ -161,7 +161,7 @@ public class BuildTest { private MockWebServer server; @Before - public void setUp() { + public void setUp() throws IOException { objectWriter = mapper.writer().withDefaultPrettyPrinter(); // create a new network for each invocation (answer) when(networkStoreService.getNetwork(TEST_NETWORK_ID)).then((Answer) invocation -> { @@ -190,8 +190,7 @@ private void cleanDB() { equipmentInfosService.deleteVariants(TEST_NETWORK_ID, List.of(VariantManagerConstants.INITIAL_VARIANT_ID, NetworkCreation.VARIANT_ID, VARIANT_ID_2)); } - @SneakyThrows - private void initMockWebServer() { + private void initMockWebServer() throws IOException { server = new MockWebServer(); server.start(); @@ -201,7 +200,6 @@ private void initMockWebServer() { reportService.setReportServerBaseUri(baseUrl); final Dispatcher dispatcher = new Dispatcher() { - @SneakyThrows @Override @NotNull public MockResponse dispatch(RecordedRequest request) { @@ -343,8 +341,7 @@ public void runBuildWithEmptyGroupTest() throws Exception { } @Test - @SneakyThrows - public void runBuildTest() { + public void runBuildTest() throws Exception { // create modification entities in the database List entities1 = new ArrayList<>(); entities1.add(EquipmentAttributeModificationInfos.builder().equipmentId("v1d1").equipmentAttributeName("open").equipmentAttributeValue(true).equipmentType(IdentifiableType.SWITCH).build().toEntity()); diff --git a/src/test/java/org/gridsuite/modification/server/service/EquipmentInfosServiceTests.java b/src/test/java/org/gridsuite/modification/server/service/EquipmentInfosServiceTests.java index 25e348dc2..ba84b2e4f 100644 --- a/src/test/java/org/gridsuite/modification/server/service/EquipmentInfosServiceTests.java +++ b/src/test/java/org/gridsuite/modification/server/service/EquipmentInfosServiceTests.java @@ -13,21 +13,24 @@ import com.powsybl.network.store.iidm.impl.NetworkImpl; import nl.jqno.equalsverifier.EqualsVerifier; import org.gridsuite.modification.server.NetworkModificationException; +import org.gridsuite.modification.server.dto.VoltageLevelInfos; import org.gridsuite.modification.server.dto.elasticsearch.EquipmentInfos; import org.gridsuite.modification.server.dto.elasticsearch.TombstonedEquipmentInfos; -import org.gridsuite.modification.server.dto.VoltageLevelInfos; import org.gridsuite.modification.server.elasticsearch.EquipmentInfosRepository; import org.gridsuite.modification.server.elasticsearch.EquipmentInfosService; import org.gridsuite.modification.server.elasticsearch.TombstonedEquipmentInfosRepository; import org.gridsuite.modification.server.utils.NetworkCreation; import org.junit.After; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import java.util.*; +import java.util.List; +import java.util.Set; +import java.util.UUID; import java.util.stream.Collectors; import static org.junit.Assert.*; @@ -37,6 +40,7 @@ */ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) +@Tag("IntegrationTest") public class EquipmentInfosServiceTests { private static final UUID NETWORK_UUID = UUID.randomUUID(); diff --git a/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java b/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java index 59c1a36d1..1326b75cc 100644 --- a/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java +++ b/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java @@ -12,8 +12,6 @@ import nl.jqno.equalsverifier.EqualsVerifier; import org.gridsuite.modification.server.NetworkModificationException; import org.gridsuite.modification.server.dto.*; -import org.gridsuite.modification.server.dto.AttributeModification; -import org.gridsuite.modification.server.dto.ModificationInfos; import org.gridsuite.modification.server.entities.ModificationEntity; import org.gridsuite.modification.server.entities.ModificationGroupEntity; import org.gridsuite.modification.server.entities.equipment.creation.VoltageLevelCreationEntity; @@ -25,26 +23,22 @@ import org.gridsuite.modification.server.repositories.ModificationGroupRepository; import org.gridsuite.modification.server.repositories.ModificationRepository; import org.gridsuite.modification.server.repositories.NetworkModificationRepository; -import org.gridsuite.modification.server.utils.*; import org.gridsuite.modification.server.utils.elasticsearch.DisableElasticsearch; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Tag; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; import static org.gridsuite.modification.server.NetworkModificationException.Type.MODIFICATION_GROUP_NOT_FOUND; import static org.gridsuite.modification.server.NetworkModificationException.Type.MODIFICATION_NOT_FOUND; -import static org.gridsuite.modification.server.utils.MatcherDeleteVoltageLevelOnLineInfos.createMatcherDeleteVoltageLevelOnLineInfos; +import static org.gridsuite.modification.server.utils.assertions.Assertions.assertThat; import static org.gridsuite.modification.server.utils.TestUtils.assertRequestsCount; -import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.*; @@ -54,6 +48,7 @@ @RunWith(SpringRunner.class) @SpringBootTest @DisableElasticsearch +@Tag("IntegrationTest") public class ModificationRepositoryTest { private static final UUID TEST_GROUP_ID = UUID.fromString("7928181c-7977-4592-ba19-88027e4254e4"); private static final UUID TEST_GROUP_ID_2 = UUID.fromString("5809dabf-60f8-46e5-9e58-57b03d6b1818"); @@ -145,20 +140,20 @@ public void test() { assertEquals(7, modificationEntities.size()); // Order is also checked - assertThat(getEquipmentAttributeModification(modificationEntities.get(0).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(nullModifEntity.toModificationInfos())); - assertThat(getEquipmentAttributeModification(modificationEntities.get(1).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(stringModifEntity.toModificationInfos())); - assertThat(getEquipmentAttributeModification(modificationEntities.get(2).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(boolModifEntity.toModificationInfos())); - assertThat(getEquipmentAttributeModification(modificationEntities.get(3).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(intModifEntity.toModificationInfos())); - assertThat(getEquipmentAttributeModification(modificationEntities.get(4).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(floatModifEntity.toModificationInfos())); - assertThat(getEquipmentAttributeModification(modificationEntities.get(5).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(doubleModifEntity.toModificationInfos())); - assertThat(getEquipmentAttributeModification(modificationEntities.get(6).getUuid()), - MatcherEquipmentAttributeModificationInfos.createMatcherEquipmentAttributeModificationInfos(enumModifEntity.toModificationInfos())); + assertThat(getEquipmentAttributeModification(modificationEntities.get(0).getUuid())) + .recursivelyEquals(nullModifEntity.toModificationInfos()); + assertThat(getEquipmentAttributeModification(modificationEntities.get(1).getUuid())) + .recursivelyEquals(stringModifEntity.toModificationInfos()); + assertThat(getEquipmentAttributeModification(modificationEntities.get(2).getUuid())) + .recursivelyEquals(boolModifEntity.toModificationInfos()); + assertThat(getEquipmentAttributeModification(modificationEntities.get(3).getUuid())) + .recursivelyEquals(intModifEntity.toModificationInfos()); + assertThat(getEquipmentAttributeModification(modificationEntities.get(4).getUuid())) + .recursivelyEquals(floatModifEntity.toModificationInfos()); + assertThat(getEquipmentAttributeModification(modificationEntities.get(5).getUuid())) + .recursivelyEquals(doubleModifEntity.toModificationInfos()); + assertThat(getEquipmentAttributeModification(modificationEntities.get(6).getUuid())) + .recursivelyEquals(enumModifEntity.toModificationInfos()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -248,12 +243,12 @@ public void testLoadCreation() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, true, true); assertEquals(3, modificationInfos.size()); - assertThat(getLoadCreationModification(modificationInfos.get(0).getUuid()), - MatcherLoadCreationInfos.createMatcherLoadCreationInfos(createLoadEntity1.toModificationInfos())); - assertThat(getLoadCreationModification(modificationInfos.get(1).getUuid()), - MatcherLoadCreationInfos.createMatcherLoadCreationInfos(createLoadEntity2.toModificationInfos())); - assertThat(getLoadCreationModification(modificationInfos.get(2).getUuid()), - MatcherLoadCreationInfos.createMatcherLoadCreationInfos(createLoadEntity3.toModificationInfos())); + assertThat(getLoadCreationModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(createLoadEntity1.toModificationInfos()); + assertThat(getLoadCreationModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals(createLoadEntity2.toModificationInfos()); + assertThat(getLoadCreationModification(modificationInfos.get(2).getUuid())) + .recursivelyEquals(createLoadEntity3.toModificationInfos()); assertEquals(3, networkModificationRepository.getModifications(TEST_GROUP_ID, true, true).size()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -330,12 +325,12 @@ public void testGeneratorCreation() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, true, true); assertEquals(3, modificationInfos.size()); - assertThat(getGeneratorCreationModification(modificationInfos.get(0).getUuid()), - MatcherGeneratorCreationInfos.createMatcherGeneratorCreationInfos(createGeneratorEntity1.toModificationInfos())); - assertThat(getGeneratorCreationModification(modificationInfos.get(1).getUuid()), - MatcherGeneratorCreationInfos.createMatcherGeneratorCreationInfos(createGeneratorEntity2.toModificationInfos())); - assertThat(getGeneratorCreationModification(modificationInfos.get(2).getUuid()), - MatcherGeneratorCreationInfos.createMatcherGeneratorCreationInfos(createGeneratorEntity3.toModificationInfos())); + assertThat(getGeneratorCreationModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(createGeneratorEntity1.toModificationInfos()); + assertThat(getGeneratorCreationModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals(createGeneratorEntity2.toModificationInfos()); + assertThat(getGeneratorCreationModification(modificationInfos.get(2).getUuid())) + .recursivelyEquals(createGeneratorEntity3.toModificationInfos()); assertEquals(3, networkModificationRepository.getModifications(TEST_GROUP_ID, true, true).size()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -381,10 +376,10 @@ public void testShuntCompensatorCreation() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, true, true); assertEquals(2, modificationInfos.size()); - assertThat(getShuntCompensatorCreationModification(modificationInfos.get(0).getUuid()), - MatcherShuntCompensatorCreationInfos.createMatcher(createShuntCompensatorEntity1.toModificationInfos())); - assertThat(getShuntCompensatorCreationModification(modificationInfos.get(1).getUuid()), - MatcherShuntCompensatorCreationInfos.createMatcher(createShuntCompensatorEntity2.toModificationInfos())); + assertThat(getShuntCompensatorCreationModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(createShuntCompensatorEntity1.toModificationInfos()); + assertThat(getShuntCompensatorCreationModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals(createShuntCompensatorEntity2.toModificationInfos()); assertEquals(2, networkModificationRepository.getModifications(TEST_GROUP_ID, true, true).size()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -409,9 +404,9 @@ public void testShuntCompensatorCreation() { @Test public void testLineCreation() { var createLineEntity1 = LineCreationInfos.builder().equipmentId("idLine1").equipmentName("nameLine1").seriesResistance(1.0).seriesReactance(1.1).shuntConductance1(10.0).shuntSusceptance1(11.0).shuntConductance2(100.0).shuntSusceptance2(100.1).voltageLevelId1("vlId11").busOrBusbarSectionId1("busId11").voltageLevelId2("vlId12").busOrBusbarSectionId2("busId12").connectionName1("cn11").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn22").connectionDirection2(ConnectablePosition.Direction.TOP).build().toEntity(); - var createLineEntity2 = LineCreationInfos.builder().equipmentId("idLine2").equipmentName("nameLine2").seriesResistance(2.0).seriesReactance(2.2).shuntConductance1(20.0).shuntSusceptance1(22.0).shuntConductance2(200.0).shuntSusceptance2(200.2).voltageLevelId1("vlId21").busOrBusbarSectionId1("busId21").voltageLevelId2("vlId22").busOrBusbarSectionId2("busId22").connectionName1("cn33").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn44").connectionDirection2(ConnectablePosition.Direction.BOTTOM).currentLimits2(CurrentLimitsInfos.builder().permanentLimit(5.0).build()).build().toEntity(); - var createLineEntity3 = LineCreationInfos.builder().equipmentId("idLine3").equipmentName("nameLine3").seriesResistance(3.0).seriesReactance(3.3).shuntConductance1(30.0).shuntSusceptance1(33.0).shuntConductance2(300.0).shuntSusceptance2(300.3).voltageLevelId1("vlId31").busOrBusbarSectionId1("busId31").voltageLevelId2("vlId32").busOrBusbarSectionId2("busId32").connectionName1("cn55").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn66").connectionDirection2(ConnectablePosition.Direction.TOP).currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.0).build()).build().toEntity(); - var createLineEntity4 = LineCreationInfos.builder().equipmentId("idLine4").equipmentName("nameLine4").seriesResistance(3.0).seriesReactance(3.3).shuntConductance1(null).shuntSusceptance1(null).shuntConductance2(null).shuntSusceptance2(null).voltageLevelId1("vlId41").busOrBusbarSectionId1("busId41").voltageLevelId2("vlId42").busOrBusbarSectionId2("busId42").connectionName1("cn77").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn88").connectionDirection2(ConnectablePosition.Direction.BOTTOM).currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.0).build()).currentLimits2(CurrentLimitsInfos.builder().permanentLimit(4.0).build()).build().toEntity(); + var createLineEntity2 = LineCreationInfos.builder().equipmentId("idLine2").equipmentName("nameLine2").seriesResistance(2.0).seriesReactance(2.2).shuntConductance1(20.0).shuntSusceptance1(22.0).shuntConductance2(200.0).shuntSusceptance2(200.2).voltageLevelId1("vlId21").busOrBusbarSectionId1("busId21").voltageLevelId2("vlId22").busOrBusbarSectionId2("busId22").connectionName1("cn33").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn44").connectionDirection2(ConnectablePosition.Direction.BOTTOM).currentLimits2(CurrentLimitsInfos.builder().permanentLimit(5.0).temporaryLimits(Collections.emptyList()).build()).build().toEntity(); + var createLineEntity3 = LineCreationInfos.builder().equipmentId("idLine3").equipmentName("nameLine3").seriesResistance(3.0).seriesReactance(3.3).shuntConductance1(30.0).shuntSusceptance1(33.0).shuntConductance2(300.0).shuntSusceptance2(300.3).voltageLevelId1("vlId31").busOrBusbarSectionId1("busId31").voltageLevelId2("vlId32").busOrBusbarSectionId2("busId32").connectionName1("cn55").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn66").connectionDirection2(ConnectablePosition.Direction.TOP).currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.0).temporaryLimits(Collections.emptyList()).build()).build().toEntity(); + var createLineEntity4 = LineCreationInfos.builder().equipmentId("idLine4").equipmentName("nameLine4").seriesResistance(3.0).seriesReactance(3.3).shuntConductance1(null).shuntSusceptance1(null).shuntConductance2(null).shuntSusceptance2(null).voltageLevelId1("vlId41").busOrBusbarSectionId1("busId41").voltageLevelId2("vlId42").busOrBusbarSectionId2("busId42").connectionName1("cn77").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn88").connectionDirection2(ConnectablePosition.Direction.BOTTOM).currentLimits1(CurrentLimitsInfos.builder().permanentLimit(5.0).temporaryLimits(Collections.emptyList()).build()).currentLimits2(CurrentLimitsInfos.builder().permanentLimit(4.0).temporaryLimits(Collections.emptyList()).build()).build().toEntity(); networkModificationRepository.saveModifications(TEST_GROUP_ID, List.of(createLineEntity1, createLineEntity2, createLineEntity3, createLineEntity4)); assertRequestsCount(1, 13, 4, 0); @@ -419,14 +414,14 @@ public void testLineCreation() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, true, true); assertEquals(4, modificationInfos.size()); - assertThat(getLineCreationModification(modificationInfos.get(0).getUuid()), - MatcherLineCreationInfos.createMatcherLineCreationInfos(createLineEntity1.toModificationInfos())); - assertThat(getLineCreationModification(modificationInfos.get(1).getUuid()), - MatcherLineCreationInfos.createMatcherLineCreationInfos(createLineEntity2.toModificationInfos())); - assertThat(getLineCreationModification(modificationInfos.get(2).getUuid()), - MatcherLineCreationInfos.createMatcherLineCreationInfos(createLineEntity3.toModificationInfos())); - assertThat(getLineCreationModification(modificationInfos.get(3).getUuid()), - MatcherLineCreationInfos.createMatcherLineCreationInfos(createLineEntity4.toModificationInfos())); + assertThat(getLineCreationModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(createLineEntity1.toModificationInfos()); + assertThat(getLineCreationModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals(createLineEntity2.toModificationInfos()); + assertThat(getLineCreationModification(modificationInfos.get(2).getUuid())) + .recursivelyEquals(createLineEntity3.toModificationInfos()); + assertThat(getLineCreationModification(modificationInfos.get(3).getUuid())) + .recursivelyEquals(createLineEntity4.toModificationInfos()); assertEquals(4, networkModificationRepository.getModifications(TEST_GROUP_ID, true, true).size()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -634,12 +629,12 @@ public void testGroovyScript() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(3, modificationInfos.size()); - assertThat(getGroovyScript(modificationInfos.get(0).getUuid()), - MatcherGroovyScriptInfos.createMatcherGroovyScriptInfos(groovyScriptEntity1.toModificationInfos())); - assertThat(getGroovyScript(modificationInfos.get(1).getUuid()), - MatcherGroovyScriptInfos.createMatcherGroovyScriptInfos(groovyScriptEntity2.toModificationInfos())); - assertThat(getGroovyScript(modificationInfos.get(2).getUuid()), - MatcherGroovyScriptInfos.createMatcherGroovyScriptInfos(groovyScriptEntity3.toModificationInfos())); + assertThat(getGroovyScript(modificationInfos.get(0).getUuid())) + .recursivelyEquals(groovyScriptEntity1.toModificationInfos()); + assertThat(getGroovyScript(modificationInfos.get(1).getUuid())) + .recursivelyEquals(groovyScriptEntity2.toModificationInfos()); + assertThat(getGroovyScript(modificationInfos.get(2).getUuid())) + .recursivelyEquals(groovyScriptEntity3.toModificationInfos()); assertEquals(3, networkModificationRepository.getModifications(TEST_GROUP_ID, false, true).size()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -689,12 +684,12 @@ public void testSubstationCreation() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(3, modificationInfos.size()); - assertThat(getSubstationCreationModification(modificationInfos.get(0).getUuid()), - MatcherSubstationCreationInfos.createMatcherSubstationCreationInfos(createSubstationEntity1.toSubstationCreationInfos())); - assertThat(getSubstationCreationModification(modificationInfos.get(1).getUuid()), - MatcherSubstationCreationInfos.createMatcherSubstationCreationInfos(createSubstationEntity2.toSubstationCreationInfos())); - assertThat(getSubstationCreationModification(modificationInfos.get(2).getUuid()), - MatcherSubstationCreationInfos.createMatcherSubstationCreationInfos(createSubstationEntity3.toSubstationCreationInfos())); + assertThat(getSubstationCreationModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(createSubstationEntity1.toSubstationCreationInfos()); + assertThat(getSubstationCreationModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals(createSubstationEntity2.toSubstationCreationInfos()); + assertThat(getSubstationCreationModification(modificationInfos.get(2).getUuid())) + .recursivelyEquals(createSubstationEntity3.toSubstationCreationInfos()); assertEquals(3, networkModificationRepository.getModifications(TEST_GROUP_ID, false, true).size()); assertEquals(List.of(TEST_GROUP_ID), this.networkModificationRepository.getModificationGroupsUuids()); @@ -737,8 +732,8 @@ public void testVoltageLevelCreation() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(1, modificationInfos.size()); - assertThat(getVoltageLevelCreationModification(modificationInfos.get(0).getUuid()), - MatcherVoltageLevelCreationInfos.createMatcherVoltageLevelCreationInfos(createVoltLvlEntity1.toVoltageLevelCreationInfos())); + assertThat(getVoltageLevelCreationModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(createVoltLvlEntity1.toVoltageLevelCreationInfos()); SQLStatementCountValidator.reset(); networkModificationRepository.deleteModifications(TEST_GROUP_ID, List.of(createVoltLvlEntity1.getId())); @@ -790,16 +785,16 @@ public void testStatusLineModification() { .collect(Collectors.toList()); assertEquals(5, modificationInfos.size()); - assertThat(modificationInfos.get(0), - MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) entities.get(0).toModificationInfos())); - assertThat(modificationInfos.get(1), - MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) entities.get(1).toModificationInfos())); - assertThat(modificationInfos.get(2), - MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) entities.get(2).toModificationInfos())); - assertThat(modificationInfos.get(3), - MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) entities.get(3).toModificationInfos())); - assertThat(modificationInfos.get(4), - MatcherBranchStatusModificationInfos.createMatcherBranchStatusModificationInfos((BranchStatusModificationInfos) entities.get(4).toModificationInfos())); + assertThat(modificationInfos.get(0)) + .recursivelyEquals((BranchStatusModificationInfos) entities.get(0).toModificationInfos()); + assertThat(modificationInfos.get(1)) + .recursivelyEquals((BranchStatusModificationInfos) entities.get(1).toModificationInfos()); + assertThat(modificationInfos.get(2)) + .recursivelyEquals((BranchStatusModificationInfos) entities.get(2).toModificationInfos()); + assertThat(modificationInfos.get(3)) + .recursivelyEquals((BranchStatusModificationInfos) entities.get(3).toModificationInfos()); + assertThat(modificationInfos.get(4)) + .recursivelyEquals((BranchStatusModificationInfos) entities.get(4).toModificationInfos()); SQLStatementCountValidator.reset(); networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); @@ -837,13 +832,11 @@ public void testLineSplitWithVoltageLevel() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(3, modificationInfos.size()); - assertThat(getLineSplitWithVoltageLevelModification(modificationInfos.get(0).getUuid()), - MatcherLineSplitWithVoltageLevelInfos.createMatcherLineSplitWithVoltageLevelInfos( - lineSplitEntity1.toModificationInfos())); + assertThat(getLineSplitWithVoltageLevelModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals(lineSplitEntity1.toModificationInfos()); - assertThat(getLineSplitWithVoltageLevelModification(modificationInfos.get(2).getUuid()), - MatcherLineSplitWithVoltageLevelInfos.createMatcherLineSplitWithVoltageLevelInfos( - lineSplitEntity2.toModificationInfos())); + assertThat(getLineSplitWithVoltageLevelModification(modificationInfos.get(2).getUuid())) + .recursivelyEquals(lineSplitEntity2.toModificationInfos()); SQLStatementCountValidator.reset(); networkModificationRepository.deleteModifications(TEST_GROUP_ID, List.of(lineSplitEntity1.getId(), @@ -904,13 +897,13 @@ public void testLineAttachToVoltageLevel() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(2, modificationInfos.size()); - assertThat(getLineAttachToVoltageLevelModification(modificationInfos.get(0).getUuid()), - MatcherLineAttachToVoltageLevelInfos.createMatcherLineAttachToVoltageLevelInfos( - lineAttachToEntity1.toModificationInfos())); + assertThat(getLineAttachToVoltageLevelModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals( + lineAttachToEntity1.toModificationInfos()); - assertThat(getLineAttachToVoltageLevelModification(modificationInfos.get(1).getUuid()), - MatcherLineAttachToVoltageLevelInfos.createMatcherLineAttachToVoltageLevelInfos( - lineAttachToEntity2.toModificationInfos())); + assertThat(getLineAttachToVoltageLevelModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals( + lineAttachToEntity2.toModificationInfos()); SQLStatementCountValidator.reset(); networkModificationRepository.deleteModifications(TEST_GROUP_ID, List.of(lineAttachToEntity1.getId(), @@ -955,13 +948,13 @@ public void testLinesAttachToSplitLines() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(2, modificationInfos.size()); - assertThat(getLinesAttachToSplitLinesModification(modificationInfos.get(0).getUuid()), - MatcherLinesAttachToSplitLinesInfos.createMatcherLinesAttachToSplitLinesInfos( - linesAttachToEntity1.toModificationInfos())); + assertThat(getLinesAttachToSplitLinesModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals( + linesAttachToEntity1.toModificationInfos()); - assertThat(getLinesAttachToSplitLinesModification(modificationInfos.get(1).getUuid()), - MatcherLinesAttachToSplitLinesInfos.createMatcherLinesAttachToSplitLinesInfos( - linesAttachToEntity2.toModificationInfos())); + assertThat(getLinesAttachToSplitLinesModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals( + linesAttachToEntity2.toModificationInfos()); SQLStatementCountValidator.reset(); networkModificationRepository.deleteModifications(TEST_GROUP_ID, List.of(linesAttachToEntity1.getId(), @@ -1035,13 +1028,13 @@ public void testDeleteVoltageLevelOnLine() { List modificationInfos = networkModificationRepository.getModifications(TEST_GROUP_ID, false, true); assertEquals(2, modificationInfos.size()); - assertThat(getDeleteVoltageLevelOnLineModification(modificationInfos.get(0).getUuid()), - createMatcherDeleteVoltageLevelOnLineInfos( - deleteVoltageLevelOnLineToEntity1.toModificationInfos())); + assertThat(getDeleteVoltageLevelOnLineModification(modificationInfos.get(0).getUuid())) + .recursivelyEquals( + deleteVoltageLevelOnLineToEntity1.toModificationInfos()); - assertThat(getDeleteVoltageLevelOnLineModification(modificationInfos.get(1).getUuid()), - createMatcherDeleteVoltageLevelOnLineInfos( - deleteVoltageLevelOnLineToEntity2.toModificationInfos())); + assertThat(getDeleteVoltageLevelOnLineModification(modificationInfos.get(1).getUuid())) + .recursivelyEquals( + deleteVoltageLevelOnLineToEntity2.toModificationInfos()); SQLStatementCountValidator.reset(); networkModificationRepository.deleteModifications(TEST_GROUP_ID, List.of(deleteVoltageLevelOnLineToEntity1.getId(), diff --git a/src/test/java/org/gridsuite/modification/server/service/NetworkModificationApplicatorTest.java b/src/test/java/org/gridsuite/modification/server/service/NetworkModificationApplicatorTest.java index 54852dddc..22fb91176 100644 --- a/src/test/java/org/gridsuite/modification/server/service/NetworkModificationApplicatorTest.java +++ b/src/test/java/org/gridsuite/modification/server/service/NetworkModificationApplicatorTest.java @@ -13,6 +13,7 @@ import com.powsybl.commons.reporter.TypedValue; import org.gridsuite.modification.server.dto.NetworkModificationResult.ApplicationStatus; import org.gridsuite.modification.server.modifications.NetworkModificationApplicator; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -25,8 +26,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; +@Tag("UnitTest") class NetworkModificationApplicatorTest { - @ParameterizedTest @MethodSource("provideArgumentsForComputeHigherSeverity") void computeHigherSeverity(List reports, ApplicationStatus expectedSeverity) { diff --git a/src/test/java/org/gridsuite/modification/server/service/NetworkStoreListenerTest.java b/src/test/java/org/gridsuite/modification/server/service/NetworkStoreListenerTest.java index 080c32fb3..c550f649d 100644 --- a/src/test/java/org/gridsuite/modification/server/service/NetworkStoreListenerTest.java +++ b/src/test/java/org/gridsuite/modification/server/service/NetworkStoreListenerTest.java @@ -8,6 +8,7 @@ package org.gridsuite.modification.server.service; import org.gridsuite.modification.server.dto.NetworkModificationResult; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -16,8 +17,8 @@ import static org.junit.Assert.assertEquals; +@Tag("UnitTest") class NetworkStoreListenerTest { - @ParameterizedTest @MethodSource("provideArgumentsForWorstStatus") void worstStatus(NetworkModificationResult.ApplicationStatus firstStatus, NetworkModificationResult.ApplicationStatus secondStatus) { diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherBranchStatusModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherBranchStatusModificationInfos.java deleted file mode 100644 index 01d9bcf9c..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherBranchStatusModificationInfos.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.BranchStatusModificationInfos; - -import java.time.ZoneOffset; -import java.time.ZonedDateTime; -import java.time.temporal.ChronoUnit; - -/** - * @author Slimane Amar - */ -public class MatcherBranchStatusModificationInfos extends MatcherEquipmentModificationInfos { - - protected MatcherBranchStatusModificationInfos(BranchStatusModificationInfos ref) { - super(ref); - } - - public static MatcherBranchStatusModificationInfos createMatcherBranchStatusModificationInfos(String equipmentId, BranchStatusModificationInfos.ActionType action) { - return new MatcherBranchStatusModificationInfos(BranchStatusModificationInfos.builder() - .date(ZonedDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.MICROS)) - .equipmentId(equipmentId) - .action(action) - .build()); - } - - public static MatcherBranchStatusModificationInfos createMatcherBranchStatusModificationInfos(BranchStatusModificationInfos modificationInfos) { - return new MatcherBranchStatusModificationInfos(modificationInfos); - } - - @Override - public boolean matchesSafely(BranchStatusModificationInfos m) { - return super.matchesSafely(m) - && m.getAction().equals(reference.getAction()); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherDeleteAttachingLineInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherDeleteAttachingLineInfos.java deleted file mode 100644 index 993a74ccd..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherDeleteAttachingLineInfos.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.DeleteAttachingLineInfos; - -import java.util.Objects; - -/** - * @author bendaamerahm - */ -public class MatcherDeleteAttachingLineInfos extends MatcherModificationInfos { - protected MatcherDeleteAttachingLineInfos(DeleteAttachingLineInfos ref) { - super(ref); - } - - public static MatcherDeleteAttachingLineInfos createMatcherDeleteAttachingLineInfos(DeleteAttachingLineInfos toDeleteAttachingLineInfos) { - return new MatcherDeleteAttachingLineInfos(toDeleteAttachingLineInfos); - } - - public boolean matchesSafely(DeleteAttachingLineInfos m) { - return super.matchesSafely(m) - && Objects.equals(reference.getLineToAttachTo1Id(), m.getLineToAttachTo1Id()) - && Objects.equals(reference.getLineToAttachTo2Id(), m.getLineToAttachTo2Id()) - && Objects.equals(reference.getAttachedLineId(), m.getAttachedLineId()) - && Objects.equals(reference.getReplacingLine1Id(), m.getReplacingLine1Id()) - && Objects.equals(reference.getReplacingLine1Name(), m.getReplacingLine1Name()); - } -} - diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherDeleteVoltageLevelOnLineInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherDeleteVoltageLevelOnLineInfos.java deleted file mode 100644 index 44bdd3f5b..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherDeleteVoltageLevelOnLineInfos.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.DeleteVoltageLevelOnLineInfos; - -import java.util.Objects; - -/** - * @author bendaamerahm - */ -public class MatcherDeleteVoltageLevelOnLineInfos extends MatcherModificationInfos { - protected MatcherDeleteVoltageLevelOnLineInfos(DeleteVoltageLevelOnLineInfos ref) { - super(ref); - } - - public static MatcherDeleteVoltageLevelOnLineInfos createMatcherDeleteVoltageLevelOnLineInfos(DeleteVoltageLevelOnLineInfos toDeleteVoltageLevelOnLineInfos) { - return new MatcherDeleteVoltageLevelOnLineInfos(toDeleteVoltageLevelOnLineInfos); - } - - public boolean matchesSafely(DeleteVoltageLevelOnLineInfos m) { - return super.matchesSafely(m) - && Objects.equals(reference.getLineToAttachTo1Id(), m.getLineToAttachTo1Id()) - && Objects.equals(reference.getLineToAttachTo2Id(), m.getLineToAttachTo2Id()) - && Objects.equals(reference.getReplacingLine1Id(), m.getReplacingLine1Id()) - && Objects.equals(reference.getReplacingLine1Name(), m.getReplacingLine1Name()); - } -} - diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentAttributeModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentAttributeModificationInfos.java deleted file mode 100644 index ea9a90e0f..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentAttributeModificationInfos.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import com.powsybl.iidm.network.IdentifiableType; -import org.gridsuite.modification.server.dto.EquipmentAttributeModificationInfos; -import org.hamcrest.Description; - -import java.time.ZoneOffset; -import java.time.ZonedDateTime; -import java.time.temporal.ChronoUnit; -import java.util.Objects; - -/** - * @author Slimane Amar - */ -public class MatcherEquipmentAttributeModificationInfos extends MatcherModificationInfos { - - public static MatcherEquipmentAttributeModificationInfos createMatcherEquipmentAttributeModificationInfos(String equipmentId, String equipmentAttributeName, - Object equipmentAttributeValue, IdentifiableType equipmentType) { - return new MatcherEquipmentAttributeModificationInfos(EquipmentAttributeModificationInfos.builder() - .date(ZonedDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.MICROS)) - .equipmentId(equipmentId) - .equipmentAttributeName(equipmentAttributeName) - .equipmentAttributeValue(equipmentAttributeValue) - .equipmentType(equipmentType) - .build()); - } - - public static MatcherEquipmentAttributeModificationInfos createMatcherEquipmentAttributeModificationInfos(EquipmentAttributeModificationInfos modificationInfos) { - return new MatcherEquipmentAttributeModificationInfos(modificationInfos); - } - - protected MatcherEquipmentAttributeModificationInfos(EquipmentAttributeModificationInfos ref) { - super(ref); - } - - @Override - public boolean matchesSafely(EquipmentAttributeModificationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && m.getEquipmentType().equals(reference.getEquipmentType()) - && m.getEquipmentAttributeName().equals(reference.getEquipmentAttributeName()) - && Objects.equals(m.getEquipmentAttributeValue(), reference.getEquipmentAttributeValue()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentDeletionInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentDeletionInfos.java deleted file mode 100644 index 8aaceccf5..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentDeletionInfos.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.EquipmentDeletionInfos; -import org.hamcrest.Description; - -/** - * @author Franck Lecuyer - */ -public class MatcherEquipmentDeletionInfos extends MatcherModificationInfos { - - public static MatcherEquipmentDeletionInfos createMatcherEquipmentDeletionInfos(EquipmentDeletionInfos deletionInfos) { - return new MatcherEquipmentDeletionInfos(deletionInfos); - } - - protected MatcherEquipmentDeletionInfos(EquipmentDeletionInfos ref) { - super(ref); - } - - @Override - public boolean matchesSafely(EquipmentDeletionInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && m.getEquipmentType().equals(reference.getEquipmentType()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentModificationInfos.java deleted file mode 100644 index ce4f25306..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherEquipmentModificationInfos.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.EquipmentModificationInfos; - -/** - * @author Franck Lecuyer - */ -public class MatcherEquipmentModificationInfos extends MatcherModificationInfos { - - protected MatcherEquipmentModificationInfos(T ref) { - super(ref); - } - - @Override - public boolean matchesSafely(T m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherGenerationDispatchInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherGenerationDispatchInfos.java deleted file mode 100644 index 7537feeac..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherGenerationDispatchInfos.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - Copyright (c) 2023, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.GenerationDispatchInfos; -import org.gridsuite.modification.server.dto.GeneratorsFilterInfos; -import org.gridsuite.modification.server.dto.GeneratorsFrequencyReserveInfos; - -import java.util.List; -import java.util.Objects; - -/** - * @author Franck Lecuyer - */ -public class MatcherGenerationDispatchInfos extends MatcherModificationInfos { - protected MatcherGenerationDispatchInfos(GenerationDispatchInfos ref) { - super(ref); - } - - public static MatcherGenerationDispatchInfos createMatcherGenerationDispatchInfos(GenerationDispatchInfos generationDispatchInfos) { - return new MatcherGenerationDispatchInfos(generationDispatchInfos); - } - - private boolean matchesFilter(GeneratorsFilterInfos filter1, GeneratorsFilterInfos filter2) { - return Objects.equals(filter1.getName(), filter2.getName()) && - Objects.equals(filter1.getId(), filter2.getId()); - } - - private boolean matchesGeneratorsFilters(List generatorsFilterInfos, - List refGeneratorsFilterInfos) { - if (!matchesList(refGeneratorsFilterInfos, generatorsFilterInfos)) { - return false; - } - for (int index = 0; index < generatorsFilterInfos.size(); index++) { - if (!matchesFilter(refGeneratorsFilterInfos.get(index), generatorsFilterInfos.get(index))) { - return false; - } - } - return true; - } - - private boolean matchesFrequencyReserve(GeneratorsFrequencyReserveInfos generatorsFrequencyReserve, - GeneratorsFrequencyReserveInfos refGeneratorsFrequencyReserve) { - if (!Objects.equals(refGeneratorsFrequencyReserve.getFrequencyReserve(), generatorsFrequencyReserve.getFrequencyReserve())) { - return false; - } - - if (!matchesList(generatorsFrequencyReserve.getGeneratorsFilters(), refGeneratorsFrequencyReserve.getGeneratorsFilters())) { - return false; - } - for (int index = 0; index < generatorsFrequencyReserve.getGeneratorsFilters().size(); index++) { - if (!matchesFilter(generatorsFrequencyReserve.getGeneratorsFilters().get(index), refGeneratorsFrequencyReserve.getGeneratorsFilters().get(index))) { - return false; - } - } - return true; - } - - private boolean matchesGeneratorsFrequencyReserve(List generatorsFrequencyReserveInfos, - List refGeneratorsFrequencyReserveInfos) { - if (!matchesList(refGeneratorsFrequencyReserveInfos, generatorsFrequencyReserveInfos)) { - return false; - } - for (int index = 0; index < generatorsFrequencyReserveInfos.size(); index++) { - if (!matchesFrequencyReserve(refGeneratorsFrequencyReserveInfos.get(index), generatorsFrequencyReserveInfos.get(index))) { - return false; - } - } - return true; - } - - public boolean matchesSafely(GenerationDispatchInfos m) { - return super.matchesSafely(m) - && Objects.equals(reference.getLossCoefficient(), m.getLossCoefficient()) - && Objects.equals(reference.getDefaultOutageRate(), m.getDefaultOutageRate()) - && matchesGeneratorsFilters(m.getGeneratorsWithoutOutage(), reference.getGeneratorsWithoutOutage()) - && matchesGeneratorsFilters(m.getGeneratorsWithFixedSupply(), reference.getGeneratorsWithFixedSupply()) - && matchesGeneratorsFrequencyReserve(m.getGeneratorsFrequencyReserve(), reference.getGeneratorsFrequencyReserve()); - } - - private boolean matchesList(List list1, List list2) { - if ((list1 == null) != (list2 == null)) { - return false; - } - return list1 == null || list1.size() == list2.size(); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorCreationInfos.java deleted file mode 100644 index bac47205a..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorCreationInfos.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.apache.commons.lang3.StringUtils; -import org.gridsuite.modification.server.dto.GeneratorCreationInfos; -import org.gridsuite.modification.server.dto.ReactiveCapabilityCurveCreationInfos; -import org.hamcrest.Description; - -import java.util.List; -import java.util.Objects; - -/** - * @author Franck Lecuyer - */ -public class MatcherGeneratorCreationInfos extends MatcherModificationInfos { - - protected MatcherGeneratorCreationInfos(GeneratorCreationInfos ref) { - super(ref); - } - - public static MatcherGeneratorCreationInfos createMatcherGeneratorCreationInfos(GeneratorCreationInfos generatorCreationInfos) { - return new MatcherGeneratorCreationInfos(generatorCreationInfos); - } - - @Override - public boolean matchesSafely(GeneratorCreationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && StringUtils.equals(m.getEquipmentName(), reference.getEquipmentName()) - && m.getVoltageLevelId().equals(reference.getVoltageLevelId()) - && m.getBusOrBusbarSectionId().equals(reference.getBusOrBusbarSectionId()) - && m.getEnergySource() == reference.getEnergySource() - && m.getMinActivePower() == reference.getMinActivePower() - && m.getMaxActivePower() == reference.getMaxActivePower() - && Objects.equals(m.getRatedNominalPower(), reference.getRatedNominalPower()) - && m.getActivePowerSetpoint() == reference.getActivePowerSetpoint() - && Objects.equals(m.getReactivePowerSetpoint(), reference.getReactivePowerSetpoint()) - && m.isVoltageRegulationOn() == reference.isVoltageRegulationOn() - && Objects.equals(m.getVoltageSetpoint(), reference.getVoltageSetpoint()) - && Objects.equals(m.getDroop(), reference.getDroop()) - && Objects.equals(m.getParticipate(), reference.getParticipate()) - && Objects.equals(m.getRegulatingTerminalId(), reference.getRegulatingTerminalId()) - && Objects.equals(m.getRegulatingTerminalType(), reference.getRegulatingTerminalType()) - && Objects.equals(m.getRegulatingTerminalVlId(), reference.getRegulatingTerminalVlId()) - && Objects.equals(m.getMaximumReactivePower(), reference.getMaximumReactivePower()) - && Objects.equals(m.getMinimumReactivePower(), reference.getMinimumReactivePower()) - && Objects.equals(m.getPlannedActivePowerSetPoint(), reference.getPlannedActivePowerSetPoint()) - && Objects.equals(m.getMarginalCost(), reference.getMarginalCost()) - && Objects.equals(m.getPlannedOutageRate(), reference.getPlannedOutageRate()) - && Objects.equals(m.getForcedOutageRate(), reference.getForcedOutageRate()) - && Objects.equals(m.getStepUpTransformerReactance(), reference.getStepUpTransformerReactance()) - && Objects.equals(m.getTransientReactance(), reference.getTransientReactance()) - && Objects.equals(m.getReactiveCapabilityCurve(), reference.getReactiveCapabilityCurve()) - && matchesReactiveCapabilityCurvePoints(m.getReactiveCapabilityCurvePoints(), reference.getReactiveCapabilityCurvePoints()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } - - private static boolean matchesReactiveCapabilityCurvePoints(List points1, List points2) { - if (points1 == null && points2 == null) { - return true; - } - - if (points1 != null && points2 != null && points1.size() == points2.size()) { - for (int idx = 0; idx < points1.size(); idx++) { - if (!matchesReactiveCapabilityCurve(points1.get(idx), points2.get(idx))) { - return false; - } - } - - return true; - } - - return false; - } - - private static boolean matchesReactiveCapabilityCurve(ReactiveCapabilityCurveCreationInfos point1, ReactiveCapabilityCurveCreationInfos point2) { - return (point1 == null && point2 == null) || - (point1 != null && point2 != null && - Objects.equals(point1.getP(), point2.getP()) && - Objects.equals(point1.getQmaxP(), point2.getQmaxP()) && - Objects.equals(point1.getQminP(), point2.getQminP())); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorModificationInfos.java deleted file mode 100644 index 49168b07f..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorModificationInfos.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.GeneratorModificationInfos; -import org.gridsuite.modification.server.dto.ReactiveCapabilityCurveModificationInfos; -import org.hamcrest.Description; - -import java.util.List; -import java.util.Objects; - -/** - * @author Ayoub Labidi - */ -public class MatcherGeneratorModificationInfos extends MatcherModificationInfos { - - protected MatcherGeneratorModificationInfos(GeneratorModificationInfos ref) { - super(ref); - } - - public static MatcherGeneratorModificationInfos createMatcherGeneratorModificationInfos(GeneratorModificationInfos generatorModificationInfos) { - return new MatcherGeneratorModificationInfos(generatorModificationInfos); - } - - @Override - public boolean matchesSafely(GeneratorModificationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) - && ((m.getVoltageLevelId() == null && reference.getVoltageLevelId() == null) || m.getVoltageLevelId().equals(reference.getVoltageLevelId())) - && ((m.getBusOrBusbarSectionId() == null && reference.getBusOrBusbarSectionId() == null) || m.getBusOrBusbarSectionId().equals(reference.getBusOrBusbarSectionId())) - && Objects.equals(m.getEnergySource(), reference.getEnergySource()) - && Objects.equals(m.getMinActivePower(), reference.getMinActivePower()) - && Objects.equals(m.getMaxActivePower(), reference.getMaxActivePower()) - && Objects.equals(m.getRatedNominalPower(), reference.getRatedNominalPower()) - && Objects.equals(m.getActivePowerSetpoint(), reference.getActivePowerSetpoint()) - && Objects.equals(m.getReactivePowerSetpoint(), reference.getReactivePowerSetpoint()) - && Objects.equals(m.getVoltageRegulationOn(), reference.getVoltageRegulationOn()) - && Objects.equals(m.getVoltageSetpoint(), reference.getVoltageSetpoint()) - && Objects.equals(m.getDroop(), reference.getDroop()) - && Objects.equals(m.getParticipate(), reference.getParticipate()) - && Objects.equals(m.getRegulatingTerminalId(), reference.getRegulatingTerminalId()) - && Objects.equals(m.getRegulatingTerminalType(), reference.getRegulatingTerminalType()) - && Objects.equals(m.getRegulatingTerminalVlId(), reference.getRegulatingTerminalVlId()) - && Objects.equals(m.getMaximumReactivePower(), reference.getMaximumReactivePower()) - && Objects.equals(m.getMinimumReactivePower(), reference.getMinimumReactivePower()) - && Objects.equals(m.getPlannedActivePowerSetPoint(), reference.getPlannedActivePowerSetPoint()) - && Objects.equals(m.getMarginalCost(), reference.getMarginalCost()) - && Objects.equals(m.getPlannedOutageRate(), reference.getPlannedOutageRate()) - && Objects.equals(m.getForcedOutageRate(), reference.getForcedOutageRate()) - && Objects.equals(m.getStepUpTransformerReactance(), reference.getStepUpTransformerReactance()) - && Objects.equals(m.getTransientReactance(), reference.getTransientReactance()) - && Objects.equals(m.getReactiveCapabilityCurve(), reference.getReactiveCapabilityCurve()) - && Objects.equals(m.getQPercent(), reference.getQPercent()) - && Objects.equals(m.getVoltageRegulationType(), reference.getVoltageRegulationType()) - && matchesReactiveCapabilityCurvePoints(m.getReactiveCapabilityCurvePoints(), reference.getReactiveCapabilityCurvePoints()); - } - - private static boolean matchesReactiveCapabilityCurvePoints(List points1, List points2) { - if (points1 == null && points2 == null) { - return true; - } - - if (points1 != null && points2 != null && points1.size() == points2.size()) { - for (int idx = 0; idx < points1.size(); idx++) { - if (!matchesReactiveCapabilityCurve(points1.get(idx), points2.get(idx))) { - return false; - } - } - - return true; - } - - return false; - } - - private static boolean matchesReactiveCapabilityCurve(ReactiveCapabilityCurveModificationInfos point1, ReactiveCapabilityCurveModificationInfos point2) { - return (point1 == null && point2 == null) || - (point1 != null && point2 != null && - Objects.equals(point1.getP(), point2.getP()) && - Objects.equals(point1.getQmaxP(), point2.getQmaxP()) && - Objects.equals(point1.getQminP(), point2.getQminP())) && - Objects.equals(point1.getOldP(), point2.getOldP()) && - Objects.equals(point1.getOldQmaxP(), point2.getOldQmaxP()) && - Objects.equals(point1.getOldQminP(), point2.getOldQminP()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorScalingInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorScalingInfos.java deleted file mode 100644 index 901150c9a..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherGeneratorScalingInfos.java +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Copyright (c) 2023, RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.FilterInfos; -import org.gridsuite.modification.server.dto.GeneratorScalingInfos; -import org.gridsuite.modification.server.dto.ScalingVariationInfos; - -import java.util.List; -import java.util.Objects; - -/** - * @author Seddik Yengui - */ - -public class MatcherGeneratorScalingInfos extends MatcherModificationInfos { - protected MatcherGeneratorScalingInfos(GeneratorScalingInfos ref) { - super(ref); - } - - public static MatcherGeneratorScalingInfos createMatcherGeneratorScalingInfos(GeneratorScalingInfos generatorScalingInfos) { - return new MatcherGeneratorScalingInfos(generatorScalingInfos); - } - - public boolean matchesSafely(GeneratorScalingInfos m) { - return super.matchesSafely(m) - && Objects.equals(reference.getVariationType(), m.getVariationType()) - && matchesVariations(m.getVariations()); - } - - private boolean matchesVariations(List generatorScalingVariations) { - if (!matchesList(reference.getVariations(), generatorScalingVariations)) { - return false; - } - - for (int index = 0; index < generatorScalingVariations.size(); index++) { - if (!matchesVariation(reference.getVariations().get(index), - generatorScalingVariations.get(index))) { - return false; - } - } - - return true; - } - - private boolean matchesVariation(ScalingVariationInfos variation1, ScalingVariationInfos variation2) { - return Objects.equals(variation1.getVariationValue(), variation2.getVariationValue()) - && Objects.equals(variation1.getVariationMode(), variation2.getVariationMode()) - && matchesFilters(variation1.getFilters(), variation2.getFilters()); - } - - private boolean matchesFilters(List filterList1, List filterList2) { - if (!matchesList(filterList1, filterList2)) { - return false; - } - - for (int index = 0; index < filterList1.size(); index++) { - if (!matchesFilter(filterList1.get(index), filterList2.get(index))) { - return false; - } - } - - return true; - } - - private boolean matchesFilter(FilterInfos filter1, FilterInfos filter2) { - return Objects.equals(filter1.getName(), filter2.getName()) && - Objects.equals(filter1.getId(), filter2.getId()); - } - - private boolean matchesList(List list1, List list2) { - if ((list1 == null) != (list2 == null)) { - return false; - } - - return list1 == null || list1.size() == list2.size(); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherGroovyScriptInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherGroovyScriptInfos.java deleted file mode 100644 index 0ac5ba024..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherGroovyScriptInfos.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.GroovyScriptInfos; -import org.hamcrest.Description; - -import java.time.ZoneOffset; -import java.time.ZonedDateTime; -import java.time.temporal.ChronoUnit; - -/** - * @author Franck Lecuyer - */ -public class MatcherGroovyScriptInfos extends MatcherModificationInfos { - - public static MatcherGroovyScriptInfos createMatcherGroovyScriptInfos(String script) { - return new MatcherGroovyScriptInfos(GroovyScriptInfos.builder() - .date(ZonedDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.MICROS)) - .script(script) - .build()); - } - - public static MatcherGroovyScriptInfos createMatcherGroovyScriptInfos(GroovyScriptInfos groovyScriptInfos) { - return new MatcherGroovyScriptInfos(groovyScriptInfos); - } - - protected MatcherGroovyScriptInfos(GroovyScriptInfos ref) { - super(ref); - } - - @Override - public boolean matchesSafely(GroovyScriptInfos m) { - return super.matchesSafely(m) - && m.getScript().equals(reference.getScript()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherJson.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherJson.java deleted file mode 100644 index b11c307b3..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherJson.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.SneakyThrows; -import org.hamcrest.Description; -import org.hamcrest.TypeSafeMatcher; - -/** - * @author Slimane Amar - */ -public class MatcherJson extends TypeSafeMatcher { - - ObjectMapper mapper; - - T reference; - - public MatcherJson(ObjectMapper mapper, T val) { - this.mapper = mapper; - this.reference = val; - } - - @SneakyThrows - @Override - public boolean matchesSafely(T s) { - return mapper.writeValueAsString(reference).equals(mapper.writeValueAsString(s)); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineAttachToVoltageLevelInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLineAttachToVoltageLevelInfos.java deleted file mode 100644 index 4413b2449..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineAttachToVoltageLevelInfos.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import java.util.Objects; - -import org.gridsuite.modification.server.dto.LineAttachToVoltageLevelInfos; - -/** - * @author Nicolas NOIR - */ -public class MatcherLineAttachToVoltageLevelInfos extends MatcherModificationInfos { - protected MatcherLineAttachToVoltageLevelInfos(LineAttachToVoltageLevelInfos ref) { - super(ref); - } - - public static MatcherLineAttachToVoltageLevelInfos createMatcherLineAttachToVoltageLevelInfos(LineAttachToVoltageLevelInfos toLineAttachToVoltageLevelInfos) { - return new MatcherLineAttachToVoltageLevelInfos(toLineAttachToVoltageLevelInfos); - } - - public boolean matchesSafely(LineAttachToVoltageLevelInfos m) { - return super.matchesSafely(m) - && Math.abs(reference.getPercent() - m.getPercent()) < 0.2 - && Objects.equals(reference.getLineToAttachToId(), m.getLineToAttachToId()) - && Objects.equals(reference.getAttachmentPointId(), m.getAttachmentPointId()) - && Objects.equals(reference.getAttachmentPointName(), m.getAttachmentPointName()) - && ((reference.getMayNewVoltageLevelInfos() == null && m.getMayNewVoltageLevelInfos() == null) - || (reference.getMayNewVoltageLevelInfos() != null && m.getMayNewVoltageLevelInfos() != null && new MatcherVoltageLevelCreationInfos(reference.getMayNewVoltageLevelInfos()).matchesSafely(m.getMayNewVoltageLevelInfos()))) - && Objects.equals(reference.getExistingVoltageLevelId(), m.getExistingVoltageLevelId()) - && Objects.equals(reference.getBbsOrBusId(), m.getBbsOrBusId()) - && ((reference.getAttachmentLine() == null && m.getAttachmentLine() == null) - || new MatcherLineCreationInfos(reference.getAttachmentLine()).matchesSafely(m.getAttachmentLine())) - && Objects.equals(reference.getNewLine1Id(), m.getNewLine1Id()) - && Objects.equals(reference.getNewLine1Name(), m.getNewLine1Name()) - && Objects.equals(reference.getNewLine2Id(), m.getNewLine2Id()) - && Objects.equals(reference.getNewLine2Name(), m.getNewLine2Name()); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLineCreationInfos.java deleted file mode 100644 index 9ad175482..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineCreationInfos.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Copyright (c) 2021, RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.CurrentLimitsInfos; -import org.gridsuite.modification.server.dto.LineCreationInfos; -import org.hamcrest.Description; - -import java.util.Objects; - -/** - * @author Sylvain Bouzols - */ -public class MatcherLineCreationInfos extends MatcherModificationInfos { - - public static MatcherLineCreationInfos createMatcherLineCreationInfos(LineCreationInfos lineCreationInfos) { - return new MatcherLineCreationInfos(lineCreationInfos); - } - - protected MatcherLineCreationInfos(LineCreationInfos ref) { - super(ref); - } - - public boolean matchesCurrentLimitsInfos(CurrentLimitsInfos cl1, CurrentLimitsInfos cl2) { - return (cl1 == null && cl2 == null) - || (cl1 != null && cl2 != null && cl1.getPermanentLimit() != null && cl2.getPermanentLimit() != null && cl1.getPermanentLimit().equals(cl2.getPermanentLimit())) - || (cl1 != null && cl2 != null && cl1.getPermanentLimit() == null && cl2.getPermanentLimit() == null); - } - - @Override - public boolean matchesSafely(LineCreationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) - && m.getSeriesResistance() == reference.getSeriesResistance() - && m.getSeriesReactance() == reference.getSeriesReactance() - && m.getShuntConductance1() != null && m.getShuntConductance1().equals(reference.getShuntConductance1()) - || m.getShuntConductance1() == null && reference.getShuntConductance1() == null - && m.getShuntSusceptance1() != null && m.getShuntSusceptance1().equals(reference.getShuntSusceptance1()) - || m.getShuntSusceptance1() == null && reference.getShuntSusceptance1() == null - && m.getShuntConductance2() != null && m.getShuntConductance2().equals(reference.getShuntConductance2()) - || m.getShuntConductance2() == null && reference.getShuntConductance2() == null - && m.getShuntSusceptance2() != null && m.getShuntSusceptance2().equals(reference.getShuntSusceptance2()) - || m.getShuntSusceptance2() == null && reference.getShuntSusceptance2() == null - && Objects.equals(m.getVoltageLevelId1(), reference.getVoltageLevelId1()) - && Objects.equals(m.getBusOrBusbarSectionId1(), reference.getBusOrBusbarSectionId1()) - && Objects.equals(m.getVoltageLevelId2(), reference.getVoltageLevelId2()) - && Objects.equals(m.getBusOrBusbarSectionId2(), reference.getBusOrBusbarSectionId2()) - && matchesCurrentLimitsInfos(m.getCurrentLimits1(), reference.getCurrentLimits1()) - && matchesCurrentLimitsInfos(m.getCurrentLimits2(), reference.getCurrentLimits2()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLineModificationInfos.java deleted file mode 100644 index 54a8ce2c7..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineModificationInfos.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (c) 2023, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.LineModificationInfos; -import org.hamcrest.Description; - -import java.util.Objects; - -import static org.gridsuite.modification.server.utils.MatcherUtils.matchesCurrentLimits; - -/** - * @author Ayoub Labidi - */ -public class MatcherLineModificationInfos extends MatcherModificationInfos { - - protected MatcherLineModificationInfos(LineModificationInfos ref) { - super(ref); - } - - public static MatcherLineModificationInfos createMatcherLineModificationInfos(LineModificationInfos lineModificationInfos) { - return new MatcherLineModificationInfos(lineModificationInfos); - } - - @Override - public boolean matchesSafely(LineModificationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) - && Objects.equals(m.getSeriesReactance(), reference.getSeriesReactance()) - && Objects.equals(m.getSeriesResistance(), reference.getSeriesResistance()) - && Objects.equals(m.getShuntConductance1(), reference.getShuntConductance1()) - && Objects.equals(m.getShuntSusceptance1(), reference.getShuntSusceptance1()) - && Objects.equals(m.getShuntConductance2(), reference.getShuntConductance2()) - && Objects.equals(m.getShuntSusceptance2(), reference.getShuntSusceptance2()) - && matchesCurrentLimits(m.getCurrentLimits1(), reference.getCurrentLimits1()) - && matchesCurrentLimits(m.getCurrentLimits2(), reference.getCurrentLimits2()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineSplitWithVoltageLevelInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLineSplitWithVoltageLevelInfos.java deleted file mode 100644 index dc1c2d489..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLineSplitWithVoltageLevelInfos.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import java.util.Objects; - -import org.gridsuite.modification.server.dto.LineSplitWithVoltageLevelInfos; - -/** - * @author Laurent GARNIER - */ -public class MatcherLineSplitWithVoltageLevelInfos extends MatcherModificationInfos { - protected MatcherLineSplitWithVoltageLevelInfos(LineSplitWithVoltageLevelInfos ref) { - super(ref); - } - - public static MatcherLineSplitWithVoltageLevelInfos createMatcherLineSplitWithVoltageLevelInfos(LineSplitWithVoltageLevelInfos toLineSplitWithVoltageLevelInfos) { - return new MatcherLineSplitWithVoltageLevelInfos(toLineSplitWithVoltageLevelInfos); - } - - public boolean matchesSafely(LineSplitWithVoltageLevelInfos m) { - return super.matchesSafely(m) - && Math.abs(reference.getPercent() - m.getPercent()) < 0.2 - && Objects.equals(reference.getLineToSplitId(), m.getLineToSplitId()) - && (reference.getMayNewVoltageLevelInfos() == null && m.getMayNewVoltageLevelInfos() == null - || new MatcherVoltageLevelCreationInfos(reference.getMayNewVoltageLevelInfos()).matchesSafely(m.getMayNewVoltageLevelInfos())) - && Objects.equals(reference.getExistingVoltageLevelId(), m.getExistingVoltageLevelId()) - && Objects.equals(reference.getBbsOrBusId(), m.getBbsOrBusId()) - && Objects.equals(reference.getNewLine1Id(), m.getNewLine1Id()) - && Objects.equals(reference.getNewLine1Name(), m.getNewLine1Name()) - && Objects.equals(reference.getNewLine2Id(), m.getNewLine2Id()) - && Objects.equals(reference.getNewLine2Name(), m.getNewLine2Name()); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLinesAttachToSplitLinesInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLinesAttachToSplitLinesInfos.java deleted file mode 100644 index 634a4521f..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLinesAttachToSplitLinesInfos.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.LinesAttachToSplitLinesInfos; - -import java.util.Objects; - -/** - * @author bendaamerahm - */ -public class MatcherLinesAttachToSplitLinesInfos extends MatcherModificationInfos { - protected MatcherLinesAttachToSplitLinesInfos(LinesAttachToSplitLinesInfos ref) { - super(ref); - } - - public static MatcherLinesAttachToSplitLinesInfos createMatcherLinesAttachToSplitLinesInfos(LinesAttachToSplitLinesInfos toLinesAttachToSplitLinesInfos) { - return new MatcherLinesAttachToSplitLinesInfos(toLinesAttachToSplitLinesInfos); - } - - public boolean matchesSafely(LinesAttachToSplitLinesInfos m) { - return super.matchesSafely(m) - && Objects.equals(reference.getLineToAttachTo1Id(), m.getLineToAttachTo1Id()) - && Objects.equals(reference.getLineToAttachTo2Id(), m.getLineToAttachTo2Id()) - && Objects.equals(reference.getAttachedLineId(), m.getAttachedLineId()) - && Objects.equals(reference.getVoltageLevelId(), m.getVoltageLevelId()) - && Objects.equals(reference.getBbsBusId(), m.getBbsBusId()) - && Objects.equals(reference.getReplacingLine1Id(), m.getReplacingLine1Id()) - && Objects.equals(reference.getReplacingLine1Name(), m.getReplacingLine1Name()) - && Objects.equals(reference.getReplacingLine2Id(), m.getReplacingLine2Id()) - && Objects.equals(reference.getReplacingLine2Name(), m.getReplacingLine2Name()); - } -} - diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadCreationInfos.java deleted file mode 100644 index 88e111d9a..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadCreationInfos.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.LoadCreationInfos; -import org.hamcrest.Description; - -/** - * @author Franck Lecuyer - */ -public class MatcherLoadCreationInfos extends MatcherModificationInfos { - - public static MatcherLoadCreationInfos createMatcherLoadCreationInfos(LoadCreationInfos loadCreationInfos) { - return new MatcherLoadCreationInfos(loadCreationInfos); - } - - protected MatcherLoadCreationInfos(LoadCreationInfos ref) { - super(ref); - } - - @Override - public boolean matchesSafely(LoadCreationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && m.getEquipmentName().equals(reference.getEquipmentName()) - && m.getVoltageLevelId().equals(reference.getVoltageLevelId()) - && m.getBusOrBusbarSectionId().equals(reference.getBusOrBusbarSectionId()) - && m.getLoadType() == reference.getLoadType() - && m.getActivePower() == reference.getActivePower() - && m.getReactivePower() == reference.getReactivePower(); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadModificationInfos.java deleted file mode 100644 index a5e7622dd..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadModificationInfos.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.LoadModificationInfos; -import org.hamcrest.Description; - -/** - * @author Nicolas Noir - */ -public class MatcherLoadModificationInfos extends MatcherModificationInfos { - - public static MatcherLoadModificationInfos createMatcherLoadModificationInfos(LoadModificationInfos loadModificationInfos) { - return new MatcherLoadModificationInfos(loadModificationInfos); - } - - protected MatcherLoadModificationInfos(LoadModificationInfos ref) { - super(ref); - } - - @Override - public boolean matchesSafely(LoadModificationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && ((m.getEquipmentName() == null && reference.getEquipmentName() == null) || m.getEquipmentName().equals(reference.getEquipmentName())) - && ((m.getVoltageLevelId() == null && reference.getVoltageLevelId() == null) || m.getVoltageLevelId().equals(reference.getVoltageLevelId())) - && ((m.getBusOrBusbarSectionId() == null && reference.getBusOrBusbarSectionId() == null) || m.getBusOrBusbarSectionId().equals(reference.getBusOrBusbarSectionId())) - && ((m.getLoadType() == null && reference.getLoadType() == null) || m.getLoadType().equals(reference.getLoadType())) - && ((m.getActivePower() == null && reference.getActivePower() == null) || m.getActivePower().equals(reference.getActivePower())) - && ((m.getReactivePower() == null && reference.getReactivePower() == null) || m.getReactivePower().equals(reference.getReactivePower())); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadScalingInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadScalingInfos.java deleted file mode 100644 index 7175db55a..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherLoadScalingInfos.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (c) 2023, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.FilterInfos; -import org.gridsuite.modification.server.dto.LoadScalingInfos; -import org.gridsuite.modification.server.dto.ScalingVariationInfos; - -import java.util.List; -import java.util.Objects; - -/** - * @author bendaamerahm - */ -public class MatcherLoadScalingInfos extends MatcherModificationInfos { - protected MatcherLoadScalingInfos(LoadScalingInfos ref) { - super(ref); - } - - public static MatcherLoadScalingInfos createMatcherLoadScalingInfos(LoadScalingInfos loadScalingInfos) { - return new MatcherLoadScalingInfos(loadScalingInfos); - } - - public boolean matchesSafely(LoadScalingInfos m) { - return super.matchesSafely(m) - && Objects.equals(reference.getVariationType(), m.getVariationType()) - && matchesVariations(m.getVariations()); - - } - - private boolean matchesVariations(List loadScalingVariations) { - if (!matchesList(reference.getVariations(), loadScalingVariations)) { - return false; - } - - for (int index = 0; index < loadScalingVariations.size(); index++) { - if (!matchesVariation(reference.getVariations().get(index), - loadScalingVariations.get(index))) { - return false; - } - } - - return true; - } - - private boolean matchesVariation(ScalingVariationInfos variation1, ScalingVariationInfos variation2) { - return Objects.equals(variation1.getVariationValue(), variation2.getVariationValue()) - && Objects.equals(variation1.getVariationMode(), variation2.getVariationMode()) - && Objects.equals(variation1.getReactiveVariationMode(), variation2.getReactiveVariationMode()) - && matchesFilters(variation1.getFilters(), variation2.getFilters()); - } - - private boolean matchesFilters(List filterList1, List filterList2) { - if (!matchesList(filterList1, filterList2)) { - return false; - } - - for (int index = 0; index < filterList1.size(); index++) { - if (!matchesFilter(filterList1.get(index), filterList2.get(index))) { - return false; - } - } - - return true; - } - - private boolean matchesFilter(FilterInfos filter1, FilterInfos filter2) { - return Objects.equals(filter1.getName(), filter2.getName()) && - Objects.equals(filter1.getId(), filter2.getId()); - } - - private boolean matchesList(List list1, List list2) { - if ((list1 == null) != (list2 == null)) { - return false; - } - - return list1 == null || list1.size() == list2.size(); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherModificationInfos.java deleted file mode 100644 index d745d5895..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherModificationInfos.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.ModificationInfos; -import org.hamcrest.Description; -import org.hamcrest.TypeSafeMatcher; - -/** - * @author Slimane Amar - */ -public class MatcherModificationInfos extends TypeSafeMatcher { - T reference; - - public static MatcherModificationInfos createMatcherModificationInfos(ModificationInfos ref) { - return new MatcherModificationInfos(ref); - } - - protected MatcherModificationInfos(T ref) { - this.reference = ref; - } - - @Override - public boolean matchesSafely(T m) { - return m.getClass().equals(reference.getClass()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherShuntCompensatorCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherShuntCompensatorCreationInfos.java deleted file mode 100644 index 19a453897..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherShuntCompensatorCreationInfos.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2022, RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import java.util.Objects; - -import org.apache.commons.lang3.StringUtils; -import org.gridsuite.modification.server.dto.ShuntCompensatorCreationInfos; -import org.hamcrest.Description; - -/** - * @author Jacques Borsenberger - */ -public class MatcherShuntCompensatorCreationInfos extends MatcherModificationInfos { - - protected MatcherShuntCompensatorCreationInfos(ShuntCompensatorCreationInfos ref) { - super(ref); - } - - public static MatcherShuntCompensatorCreationInfos createMatcher(ShuntCompensatorCreationInfos shuntCompensatorCreationInfos) { - return new MatcherShuntCompensatorCreationInfos(shuntCompensatorCreationInfos); - } - - @Override - public boolean matchesSafely(ShuntCompensatorCreationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && StringUtils.equals(m.getEquipmentName(), reference.getEquipmentName()) - && m.getVoltageLevelId().equals(reference.getVoltageLevelId()) - && m.getBusOrBusbarSectionId().equals(reference.getBusOrBusbarSectionId()) - && m.getIsIdenticalSection().equals(reference.getIsIdenticalSection()) - && Objects.equals(m.getSusceptancePerSection(), reference.getSusceptancePerSection()) - && m.getMaximumNumberOfSections().equals(reference.getMaximumNumberOfSections()) - && m.getCurrentNumberOfSections().equals(reference.getCurrentNumberOfSections()) - && Objects.equals(m.getShuntCompensatorType(), reference.getShuntCompensatorType()) - && Objects.equals(m.getQAtNominalV(), reference.getQAtNominalV()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherShuntCompensatorModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherShuntCompensatorModificationInfos.java deleted file mode 100644 index 8a62f6b65..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherShuntCompensatorModificationInfos.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2023, RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.ShuntCompensatorModificationInfos; -import org.hamcrest.Description; - -import java.util.Objects; - -/** - * @author Seddik Yengui - */ - -public class MatcherShuntCompensatorModificationInfos extends MatcherModificationInfos { - - protected MatcherShuntCompensatorModificationInfos(ShuntCompensatorModificationInfos ref) { - super(ref); - } - - public static MatcherShuntCompensatorModificationInfos createMatcherShuntCompensatorModificationInfos(ShuntCompensatorModificationInfos shuntCompensatorModificationInfos) { - return new MatcherShuntCompensatorModificationInfos(shuntCompensatorModificationInfos); - } - - @Override - public boolean matchesSafely(ShuntCompensatorModificationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) - && Objects.equals(m.getSusceptancePerSection(), reference.getSusceptancePerSection()) - && Objects.equals(m.getShuntCompensatorType(), reference.getShuntCompensatorType()) - && Objects.equals(m.getQAtNominalV(), reference.getQAtNominalV()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherSubstationCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherSubstationCreationInfos.java deleted file mode 100644 index ec49c8cd8..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherSubstationCreationInfos.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import java.util.Objects; - -import org.gridsuite.modification.server.dto.SubstationCreationInfos; -import org.hamcrest.Description; - -/** - * @author Abdelsalem HEDHILI - */ -public class MatcherSubstationCreationInfos extends MatcherModificationInfos { - - public static MatcherSubstationCreationInfos createMatcherSubstationCreationInfos(SubstationCreationInfos substationCreationInfos) { - return new MatcherSubstationCreationInfos(substationCreationInfos); - } - - protected MatcherSubstationCreationInfos(SubstationCreationInfos ref) { - super(ref); - } - - @Override - public boolean matchesSafely(SubstationCreationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && m.getEquipmentName().equals(reference.getEquipmentName()) - && m.getSubstationCountry().equals(reference.getSubstationCountry()) - && Objects.equals(m.getProperties(), reference.getProperties()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherSubstationModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherSubstationModificationInfos.java deleted file mode 100644 index 628f186e6..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherSubstationModificationInfos.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2023, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.SubstationFreePropertyInfos; -import org.gridsuite.modification.server.dto.SubstationModificationInfos; -import org.hamcrest.Description; - -import java.util.List; -import java.util.Objects; - -/** - * @author David Braquart - */ -public class MatcherSubstationModificationInfos extends MatcherModificationInfos { - - public static MatcherSubstationModificationInfos createMatcherSubstationModificationInfos(SubstationModificationInfos infos) { - return new MatcherSubstationModificationInfos(infos); - } - - protected MatcherSubstationModificationInfos(SubstationModificationInfos ref) { - super(ref); - } - - private boolean matchesProperties(List l1, List l2) { - return (l1 == null && l2 == null) - || (l1 == null && l2.isEmpty()) - || (l2 == null && l1.isEmpty()) - || (l1 != null && l2 != null && l1.size() == l2.size() && l1.equals(l2)); - } - - @Override - public boolean matchesSafely(SubstationModificationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) - && Objects.equals(m.getSubstationCountry(), reference.getSubstationCountry()) - && matchesProperties(m.getProperties(), reference.getProperties()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherTwoWindingsTransformerCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherTwoWindingsTransformerCreationInfos.java deleted file mode 100644 index 62aaec074..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherTwoWindingsTransformerCreationInfos.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - Copyright (c) 2021, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.*; -import org.hamcrest.Description; - -import java.util.Objects; - -/** - * @author Abdelsalem Hedhili - */ -public class MatcherTwoWindingsTransformerCreationInfos extends MatcherModificationInfos { - - public static MatcherTwoWindingsTransformerCreationInfos createMatcherTwoWindingsTransformerCreationInfos(TwoWindingsTransformerCreationInfos twoWindingsTransformerCreationInfos) { - return new MatcherTwoWindingsTransformerCreationInfos(twoWindingsTransformerCreationInfos); - } - - protected MatcherTwoWindingsTransformerCreationInfos(TwoWindingsTransformerCreationInfos ref) { - super(ref); - } - - private boolean matchesCurrentLimitsInfos(CurrentLimitsInfos cl1, CurrentLimitsInfos cl2) { - return (cl1 == null && cl2 == null) - || (((cl1 != null && cl2 != null && cl1.getPermanentLimit() != null && cl2.getPermanentLimit() != null && cl1.getPermanentLimit().equals(cl2.getPermanentLimit())) - || (cl1 != null && cl2 != null && cl1.getPermanentLimit() == null && cl2.getPermanentLimit() == null)) - || ((cl1 != null && cl2 != null) && (cl1.getTemporaryLimits().size() == cl2.getTemporaryLimits().size()) && cl1.getTemporaryLimits().containsAll(cl2.getTemporaryLimits()))); - } - - private boolean matchesRatioTapChangerInfos(RatioTapChangerCreationInfos rt1, RatioTapChangerCreationInfos rt2) { - return (rt1 == null && rt2 == null) - || (rt1 != null && rt2 != null && rt1.isLoadTapChangingCapabilities() == rt2.isLoadTapChangingCapabilities() && rt1.isRegulating() == rt2.isRegulating() && Objects.equals(rt1.getTargetV(), rt2.getTargetV()) && Objects.equals(rt1.getTargetDeadband(), rt2.getTargetDeadband()) && Objects.equals(rt1.getRegulatingTerminalVlId(), rt2.getRegulatingTerminalVlId()) && Objects.equals(rt1.getRegulatingTerminalType(), rt2.getRegulatingTerminalType()) && Objects.equals(rt1.getRegulatingTerminalId(), rt2.getRegulatingTerminalId()) && rt1.getLowTapPosition() == rt2.getLowTapPosition() && rt1.getTapPosition() == rt2.getTapPosition()); - } - - private boolean matchesPhaseTapChangerInfos(PhaseTapChangerCreationInfos pt1, PhaseTapChangerCreationInfos pt2) { - return (pt1 == null && pt2 == null) - || (pt1 != null && pt2 != null && pt1.getRegulationMode().equals(pt2.getRegulationMode()) && pt1.isRegulating() == pt2.isRegulating() && pt1.getRegulationMode() == pt2.getRegulationMode() && Objects.equals(pt1.getRegulationValue(), pt2.getRegulationValue()) && Objects.equals(pt1.getTargetDeadband(), pt2.getTargetDeadband()) && Objects.equals(pt1.getRegulatingTerminalVlId(), pt2.getRegulatingTerminalVlId()) && Objects.equals(pt1.getRegulatingTerminalType(), pt2.getRegulatingTerminalType()) && Objects.equals(pt1.getRegulatingTerminalId(), pt2.getRegulatingTerminalId()) && pt1.getLowTapPosition() == pt2.getLowTapPosition() && pt1.getTapPosition() == pt2.getTapPosition()); - } - - @Override - public boolean matchesSafely(TwoWindingsTransformerCreationInfos m) { - return super.matchesSafely(m) - && m.getEquipmentId().equals(reference.getEquipmentId()) - && m.getEquipmentName().equals(reference.getEquipmentName()) - && m.getVoltageLevelId1().equals(reference.getVoltageLevelId1()) - && m.getVoltageLevelId2().equals(reference.getVoltageLevelId2()) - && m.getBusOrBusbarSectionId1().equals(reference.getBusOrBusbarSectionId1()) - && m.getBusOrBusbarSectionId2().equals(reference.getBusOrBusbarSectionId2()) - && m.getRatedVoltage1() == reference.getRatedVoltage1() - && m.getRatedVoltage2() == reference.getRatedVoltage2() - && m.getMagnetizingSusceptance() == reference.getMagnetizingSusceptance() - && m.getMagnetizingConductance() == reference.getMagnetizingConductance() - && m.getSeriesReactance() == reference.getSeriesReactance() - && m.getSeriesResistance() == reference.getSeriesResistance() - && Objects.equals(m.getRatedS(), reference.getRatedS()) - && matchesCurrentLimitsInfos(m.getCurrentLimits1(), reference.getCurrentLimits1()) - && matchesCurrentLimitsInfos(m.getCurrentLimits2(), reference.getCurrentLimits2()) - && matchesRatioTapChangerInfos(m.getRatioTapChanger(), reference.getRatioTapChanger()) - && matchesPhaseTapChangerInfos(m.getPhaseTapChanger(), reference.getPhaseTapChanger()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherTwoWindingsTransformerModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherTwoWindingsTransformerModificationInfos.java deleted file mode 100644 index 28af7027c..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherTwoWindingsTransformerModificationInfos.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2023, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.TwoWindingsTransformerModificationInfos; -import org.hamcrest.Description; - -import java.util.Objects; - -import static org.gridsuite.modification.server.utils.MatcherUtils.matchesCurrentLimits; - -/** - * @author Florent MILLOT - */ -public class MatcherTwoWindingsTransformerModificationInfos extends MatcherModificationInfos { - - protected MatcherTwoWindingsTransformerModificationInfos(TwoWindingsTransformerModificationInfos ref) { - super(ref); - } - - public static MatcherTwoWindingsTransformerModificationInfos createMatcherTwoWindingsTransformerModificationInfos(TwoWindingsTransformerModificationInfos twoWindingsTransformerModificationInfos) { - return new MatcherTwoWindingsTransformerModificationInfos(twoWindingsTransformerModificationInfos); - } - - @Override - public boolean matchesSafely(TwoWindingsTransformerModificationInfos m) { - return super.matchesSafely(m) - && Objects.equals(m.getEquipmentId(), reference.getEquipmentId()) - && Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) - && Objects.equals(m.getRatedVoltage1(), reference.getRatedVoltage1()) - && Objects.equals(m.getRatedVoltage2(), reference.getRatedVoltage2()) - && Objects.equals(m.getMagnetizingSusceptance(), reference.getMagnetizingSusceptance()) - && Objects.equals(m.getMagnetizingConductance(), reference.getMagnetizingConductance()) - && Objects.equals(m.getSeriesReactance(), reference.getSeriesReactance()) - && Objects.equals(m.getSeriesResistance(), reference.getSeriesResistance()) - && Objects.equals(m.getRatedS(), reference.getRatedS()) - && matchesCurrentLimits(m.getCurrentLimits1(), reference.getCurrentLimits1()) - && matchesCurrentLimits(m.getCurrentLimits2(), reference.getCurrentLimits2()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(reference); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherUtils.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherUtils.java deleted file mode 100644 index 470ea1248..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherUtils.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2023, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.CurrentLimitsModificationInfos; -import org.gridsuite.modification.server.dto.CurrentTemporaryLimitModificationInfos; - -import java.util.List; -import java.util.Objects; - -/** - * @author Florent MILLOT - * Original code by Ayoub LABIDI - */ -public final class MatcherUtils { - - private MatcherUtils() { - } - - public static boolean matchesCurrentLimits(CurrentLimitsModificationInfos limits1, CurrentLimitsModificationInfos limits2) { - return Objects.equals(limits1.getPermanentLimit(), limits2.getPermanentLimit()) - && matchesTemporaryLimits(limits1.getTemporaryLimits(), limits2.getTemporaryLimits()); - } - - public static boolean matchesTemporaryLimits(List tempLimits1, List tempLimits2) { - if (tempLimits1 == null && tempLimits2 == null) { - return true; - } - if (tempLimits1 == null || tempLimits2 == null) { - if (tempLimits1 == null && tempLimits2 != null && tempLimits2.isEmpty()) { - return true; - } else { - return tempLimits2 == null && tempLimits1 != null && tempLimits1.isEmpty(); - } - } - if (tempLimits1.size() != tempLimits2.size()) { - return false; - } - for (int i = 0; i < tempLimits1.size(); i++) { - if (!Objects.equals(tempLimits1.get(i).getAcceptableDuration(), tempLimits2.get(i).getAcceptableDuration()) - || !Objects.equals(tempLimits1.get(i).getName(), tempLimits2.get(i).getName()) - || !Objects.equals(tempLimits1.get(i).getValue(), tempLimits2.get(i).getValue())) { - return false; - } - } - return true; - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherVoltageLevelCreationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherVoltageLevelCreationInfos.java deleted file mode 100644 index e48a27e9a..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherVoltageLevelCreationInfos.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (c) 2022, RTE (http://www.rte-france.com) - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.gridsuite.modification.server.utils; - -import java.util.List; -import java.util.Objects; - -import org.gridsuite.modification.server.dto.CouplingDeviceInfos; -import org.gridsuite.modification.server.dto.VoltageLevelCreationInfos; - -import com.powsybl.iidm.network.SwitchKind; - -/** - * @author Laurent GARNIER - */ -public class MatcherVoltageLevelCreationInfos extends MatcherEquipmentModificationInfos { - protected MatcherVoltageLevelCreationInfos(VoltageLevelCreationInfos ref) { - super(ref); - } - - public static MatcherVoltageLevelCreationInfos createMatcherVoltageLevelCreationInfos(VoltageLevelCreationInfos ref) { - return new MatcherVoltageLevelCreationInfos(ref); - } - - public boolean matchesSafely(VoltageLevelCreationInfos m) { - return super.matchesSafely(m) - && Math.abs(reference.getNominalVoltage() - m.getNominalVoltage()) < 0.2 - && Objects.equals(reference.getSubstationId(), m.getSubstationId()) - && matchesCouplingDevices(m.getCouplingDevices()) - && matchesSwitchKinds(m.getSwitchKinds()); - } - - private boolean matchesSwitchKinds(List switchKinds) { - if ((switchKinds == null) != (reference.getSwitchKinds() == null)) { - return false; - } - if (switchKinds == null) { - return true; - } - if (switchKinds.size() != reference.getSwitchKinds().size()) { - return false; - } - - for (int i = 0; i < switchKinds.size(); i++) { - if (!Objects.equals(reference.getSwitchKinds().get(i), switchKinds.get(i))) { - return false; - } - } - - return true; - } - - private boolean matchesCouplingDevices(List couplingDevices) { - if ((couplingDevices == null) != (reference.getCouplingDevices() == null)) { - return false; - } - if (couplingDevices == null) { - return true; - } - if (couplingDevices.size() != reference.getCouplingDevices().size()) { - return false; - } - - for (int i = 0; i < couplingDevices.size(); i++) { - if (!matches(reference.getCouplingDevices().get(i), couplingDevices.get(i))) { - return false; - } - } - - return true; - } - - private static boolean matches(CouplingDeviceInfos a, CouplingDeviceInfos b) { - if ((a == null) != (b == null)) { - return false; - } - if (a == null) { - return true; - } - return Objects.equals(a.getBusbarSectionId1(), b.getBusbarSectionId1()) - && Objects.equals(a.getBusbarSectionId2(), b.getBusbarSectionId2()); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/MatcherVoltageLevelModificationInfos.java b/src/test/java/org/gridsuite/modification/server/utils/MatcherVoltageLevelModificationInfos.java deleted file mode 100644 index 9391c6ab9..000000000 --- a/src/test/java/org/gridsuite/modification/server/utils/MatcherVoltageLevelModificationInfos.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright (c) 2023, RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.gridsuite.modification.server.utils; - -import org.gridsuite.modification.server.dto.VoltageLevelModificationInfos; - -import java.util.Objects; - -/** - * @author Seddik Yengui - */ - -public class MatcherVoltageLevelModificationInfos extends MatcherModificationInfos { - protected MatcherVoltageLevelModificationInfos(VoltageLevelModificationInfos ref) { - super(ref); - } - - public static MatcherVoltageLevelModificationInfos createMatcherVoltageLevelModificationInfos(VoltageLevelModificationInfos infos) { - return new MatcherVoltageLevelModificationInfos(infos); - } - - @Override - public boolean matchesSafely(VoltageLevelModificationInfos m) { - return Objects.equals(m.getEquipmentId(), reference.getEquipmentId()) && - Objects.equals(m.getEquipmentName(), reference.getEquipmentName()) && - Objects.equals(m.getNominalVoltage(), reference.getNominalVoltage()) && - Objects.equals(m.getLowVoltageLimit(), reference.getLowVoltageLimit()) && - Objects.equals(m.getHighVoltageLimit(), reference.getHighVoltageLimit()) && - Objects.equals(m.getIpMin(), reference.getIpMin()) && - Objects.equals(m.getIpMax(), reference.getIpMax()); - } -} diff --git a/src/test/java/org/gridsuite/modification/server/utils/TestUtils.java b/src/test/java/org/gridsuite/modification/server/utils/TestUtils.java index ecd4cf741..7035c84f3 100644 --- a/src/test/java/org/gridsuite/modification/server/utils/TestUtils.java +++ b/src/test/java/org/gridsuite/modification/server/utils/TestUtils.java @@ -27,14 +27,27 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.IntStream; -import static com.vladmihalcea.sql.SQLStatementCountValidator.*; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; +import static com.vladmihalcea.sql.SQLStatementCountValidator.assertDeleteCount; +import static com.vladmihalcea.sql.SQLStatementCountValidator.assertInsertCount; +import static com.vladmihalcea.sql.SQLStatementCountValidator.assertSelectCount; +import static com.vladmihalcea.sql.SQLStatementCountValidator.assertUpdateCount; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.atLeast; +import static org.mockito.Mockito.verify; /** * @author Slimane Amar @@ -97,6 +110,7 @@ public static void assertRequestsCount(long select, long insert, long update, lo assertDeleteCount(delete); } + @SuppressWarnings("unchecked") public static void assertBranchStatus(Network network, String branchName, BranchStatus.Status status) { assertNotNull(network); Branch branch = network.getBranch(branchName); @@ -106,6 +120,7 @@ public static void assertBranchStatus(Network network, String branchName, Branch assertEquals(status, branchStatus.getStatus()); } + @SuppressWarnings("unchecked") public static void setBranchStatus(Network network, String branchName, BranchStatus.Status status) { Branch branch = network.getBranch(branchName); assertNotNull(branch); diff --git a/src/test/java/org/gridsuite/modification/server/utils/assertions/Assertions.java b/src/test/java/org/gridsuite/modification/server/utils/assertions/Assertions.java new file mode 100644 index 000000000..923028d0a --- /dev/null +++ b/src/test/java/org/gridsuite/modification/server/utils/assertions/Assertions.java @@ -0,0 +1,27 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.modification.server.utils.assertions; + +import org.assertj.core.util.CheckReturnValue; +import org.gridsuite.modification.server.dto.ModificationInfos; +import org.gridsuite.modification.server.dto.NetworkModificationResult; + +/** + * @author Tristan Chuine + * {@link org.assertj.core.api.Assertions Assertions} completed with our custom assertions classes. + */ +public class Assertions extends org.assertj.core.api.Assertions { + @CheckReturnValue + public static DTOAssert assertThat(T actual) { + return new DTOAssert<>(actual); + } + + @CheckReturnValue + public static DTOAssert assertThat(T actual) { + return new DTOAssert<>(actual); + } +} diff --git a/src/test/java/org/gridsuite/modification/server/utils/assertions/DTOAssert.java b/src/test/java/org/gridsuite/modification/server/utils/assertions/DTOAssert.java new file mode 100644 index 000000000..067f9fa61 --- /dev/null +++ b/src/test/java/org/gridsuite/modification/server/utils/assertions/DTOAssert.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.modification.server.utils.assertions; + +import org.assertj.core.api.AbstractAssert; +import org.assertj.core.api.recursive.comparison.RecursiveComparisonConfiguration; + +import java.time.ZonedDateTime; +import java.util.Date; +import java.util.UUID; + +/** + * @author Tristan Chuine + * @author Slimane Amar + */ +public class DTOAssert extends AbstractAssert, T> { + public DTOAssert(T actual) { + super(actual, DTOAssert.class); + } + + public DTOAssert recursivelyEquals(T other) { + isNotNull(); + usingRecursiveComparison(this.getRecursiveConfiguration()).isEqualTo(other); + return myself; + } + + private RecursiveComparisonConfiguration getRecursiveConfiguration() { + return RecursiveComparisonConfiguration.builder() + .withIgnoreAllOverriddenEquals(true) // For equals test, need specific tests + .withIgnoredFieldsOfTypes(UUID.class, Date.class, ZonedDateTime.class) // For these types, need specific tests (uuid from db for example) + .withIgnoreCollectionOrder(true) // For collection order test, need specific tests + .build(); + } +} diff --git a/src/test/java/org/gridsuite/modification/server/utils/elasticsearch/DisableElasticsearch.java b/src/test/java/org/gridsuite/modification/server/utils/elasticsearch/DisableElasticsearch.java index b6331bd99..ce0ce3bab 100644 --- a/src/test/java/org/gridsuite/modification/server/utils/elasticsearch/DisableElasticsearch.java +++ b/src/test/java/org/gridsuite/modification/server/utils/elasticsearch/DisableElasticsearch.java @@ -9,6 +9,7 @@ import org.gridsuite.modification.server.elasticsearch.EquipmentInfosRepository; import org.gridsuite.modification.server.elasticsearch.TombstonedEquipmentInfosRepository; +import org.junit.jupiter.api.Tag; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.boot.test.mock.mockito.MockBeans; @@ -23,5 +24,6 @@ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @MockBeans({@MockBean(EmbeddedElasticsearch.class), @MockBean(EquipmentInfosRepository.class), @MockBean(TombstonedEquipmentInfosRepository.class)}) +@Tag("Docker") public @interface DisableElasticsearch { }