Skip to content
Open
10 changes: 9 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
</developers>

<properties>
<gridsuite-dependencies.version>43.0.0</gridsuite-dependencies.version>
<gridsuite-dependencies.version>43.2.0</gridsuite-dependencies.version>
<db-util.version>1.0.5</db-util.version>
<mockwebserver3.version>5.0.0-alpha.14</mockwebserver3.version>
<liquibase-hibernate-package>org.gridsuite.modification.server</liquibase-hibernate-package>
Expand All @@ -56,6 +56,7 @@
<!-- FIXME: powsybl-network-store modules'version is overloaded in the dependencies section.The overloads and this property below have to be removed at next powsybl-ws-dependencies.version upgrade -->
<powsybl-network-store.version>1.31.0</powsybl-network-store.version>
<powsybl-balances-adjustment.version>2.14.1</powsybl-balances-adjustment.version>
<gridsuite-filter.version>1.6.0</gridsuite-filter.version>
</properties>

<build>
Expand Down Expand Up @@ -123,6 +124,13 @@
<version>${powsybl-balances-adjustment.version}</version>
</dependency>

<!-- todo: delete gridsuite-filter from dependencyManagement when this server supports the newer version -->
<dependency>
<groupId>org.gridsuite</groupId>
<artifactId>gridsuite-filter</artifactId>
<version>${gridsuite-filter.version}</version>
</dependency>

<!-- imports -->
<dependency>
<groupId>org.gridsuite</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
* @author Kevin Le Saulnier <kevin.lesaulnier at rte-france.com>
*/
@Builder
@Embeddable
@AllArgsConstructor
@NoArgsConstructor
@Setter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ public class ModificationGroupEntity extends AbstractManuallyAssignedIdentifierE

@OneToMany(
mappedBy = "group",
cascade = CascadeType.ALL
//Remove is not here because we handle the deletion manually
cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH}
)
@OrderBy("modificationsOrder asc")
private List<ModificationEntity> modifications = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
package org.gridsuite.modification.server.entities.equipment.modification;

import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.MappedSuperclass;
import lombok.AllArgsConstructor;
import lombok.Getter;
Expand All @@ -17,7 +16,6 @@
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Embeddable
@MappedSuperclass
public abstract class AbstractShuntCompensatorEmbeddable {
@Column(name = "shunt_compensator_id")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
@Getter
@Setter
@Entity
@EqualsAndHashCode
@EqualsAndHashCode(callSuper = false)
@Table(name = "GeneratorScaling")
public class GeneratorScalingEntity extends ScalingEntity {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -460,8 +460,10 @@ public void deleteModificationGroup(UUID groupUuid, boolean errorOnGroupNotFound
try {
ModificationGroupEntity groupEntity = getModificationGroup(groupUuid);
if (!groupEntity.getModifications().isEmpty()) {
deleteModifications(groupEntity.getModifications().stream().filter(Objects::nonNull).toList());
groupEntity.getModifications().clear();
//TODO: is there a way to avoid doing this setGroup(null) that triggers a useless update since the entity will be deleted right after
groupEntity.getModifications().forEach(modif -> modif.setGroup(null));
List<ModificationEntity> modifications = groupEntity.getModifications();
deleteModifications(modifications.stream().filter(Objects::nonNull).toList());
}
modificationGroupRepository.delete(groupEntity);
} catch (NetworkModificationException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.powsybl.network.store.client.NetworkStoreService;
import com.powsybl.network.store.client.PreloadingStrategy;
import com.powsybl.network.store.iidm.impl.NetworkFactoryImpl;
import jakarta.servlet.ServletException;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.gridsuite.modification.NetworkModificationException;
Expand Down Expand Up @@ -52,9 +51,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder;
Expand Down Expand Up @@ -118,13 +117,13 @@ class ModificationControllerTest {

@Autowired
private ObjectMapper mapper;
@MockBean
@MockitoBean
private NetworkStoreService networkStoreService;

@Autowired
private NetworkModificationRepository modificationRepository;

@MockBean
@MockitoBean
private ReportService reportService;

@Autowired
Expand Down Expand Up @@ -1613,11 +1612,16 @@ private MockMultipartFile createMockMultipartFile(String fileName) throws IOExce
}

@Test
void testPostLineTypeWithLimitsCatalogError() throws IOException {
void testPostLineTypeWithLimitsCatalogError() throws Exception {
MockMultipartHttpServletRequestBuilder mockMultipartHttpServletRequestBuilder = multipart(URI_LINE_CATALOG)
.file(createMockMultipartFile(NOT_EXISTING_JSON_FILE));
String message = assertThrows(ServletException.class, () -> mockMvc.perform(mockMultipartHttpServletRequestBuilder)).getMessage();
assertEquals("Request processing failed: java.io.UncheckedIOException: java.io.EOFException", message);

mockMvc.perform(mockMultipartHttpServletRequestBuilder)
.andExpect(result -> {
assertNotNull(result.getResolvedException());
assertEquals("java.io.EOFException",
result.getResolvedException().getMessage());
});
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
import org.springframework.test.web.servlet.MockMvc;

import java.util.UUID;
Expand All @@ -24,7 +24,7 @@
@SpringBootTest
@DisableElasticsearch
class SupervisionControllerTest {
@SpyBean
@MockitoSpyBean
private SupervisionService supervisionService;

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;

Expand Down Expand Up @@ -70,7 +70,6 @@ public abstract class AbstractNetworkModificationTest {
private static final UUID TEST_NETWORK_ID = UUID.randomUUID();
private static final UUID NOT_FOUND_NETWORK_ID = UUID.randomUUID();
protected static final UUID TEST_GROUP_ID = UUID.randomUUID();
private static final UUID TEST_REPORT_ID = UUID.randomUUID();

private static final String URI_NETWORK_MODIF_BASE = "/v1/network-modifications";
private static final String URI_NETWORK_MODIF_GET_PUT = URI_NETWORK_MODIF_BASE + "/";
Expand All @@ -83,10 +82,10 @@ public abstract class AbstractNetworkModificationTest {

protected WireMockUtils wireMockUtils;

@MockBean
@MockitoBean
private NetworkStoreService networkStoreService;

@MockBean
@MockitoBean
protected ReportService reportService;

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@
import org.gridsuite.modification.server.dto.NetworkModificationsResult;
import org.gridsuite.modification.server.service.LoadFlowService;
import org.gridsuite.modification.server.NetworkModificationServerException;
import org.gridsuite.modification.server.utils.elasticsearch.DisableElasticsearch;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.web.client.HttpStatusCodeException;

Expand All @@ -40,12 +41,13 @@
* @author Joris Mancini <joris.mancini_externe at rte-france.com>
*/
@Tag("IntegrationTest")
@DisableElasticsearch
class BalancesAdjustmentTest extends AbstractNetworkModificationTest {
private static final UUID LOADFLOW_PARAMETERS_UUID = UUID.randomUUID();
private static final UUID NON_EXISTENT_LOADFLOW_PARAMETERS_UUID = UUID.randomUUID();
private static final UUID ERROR_LOADFLOW_PARAMETERS_UUID = UUID.randomUUID();

@MockBean
@MockitoBean
private LoadFlowService loadFlowService;

@BeforeEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.mockito.stubbing.Answer;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.context.bean.override.mockito.MockitoBean;

import java.util.List;
import java.util.UUID;
Expand All @@ -40,7 +40,7 @@
@Tag("IntegrationTest")
class CompositeModificationsTest extends AbstractNetworkModificationTest {

@MockBean
@MockitoBean
private NetworkModificationApplicator networkModificationApplicator;

@BeforeEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ void testSqlRequestsCountOnDeleteGroup() throws Exception {
reset();
ApiUtils.deleteGroup(mockMvc, getGroupId());
// It is actually (8, 0, 0, 15) because deletes made in the native query are not counted
TestUtils.assertRequestsCount(8, 0, 0, 1);
TestUtils.assertRequestsCount(7, 0, 1, 1);
assertEquals(0, modificationRepository.count());
assertEquals(0, tabularPropertyRepository.count());
}
Expand All @@ -379,7 +379,7 @@ void testSqlRequestsCountOnDeleteGroup2() throws Exception {
reset();
ApiUtils.deleteGroup(mockMvc, getGroupId());
// It is actually (12, 0, 0, 29) because deletes made in the native query are not counted
TestUtils.assertRequestsCount(12, 0, 0, 1);
TestUtils.assertRequestsCount(11, 0, 1, 1);
assertEquals(0, modificationRepository.count());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,13 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.cloud.stream.binder.test.OutputDestination;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.messaging.Message;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
import org.springframework.test.web.servlet.MockMvc;

import java.io.IOException;
Expand Down Expand Up @@ -125,7 +125,7 @@ class BuildTest {
@Autowired
private OutputDestination output;

@MockBean
@MockitoBean
private NetworkStoreService networkStoreService;

@Autowired
Expand All @@ -152,7 +152,7 @@ class BuildTest {
@Autowired
private EquipmentInfosRepository equipmentInfosRepository;

@SpyBean
@MockitoSpyBean
private NotificationService notificationService;

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
import org.mockito.ArgumentCaptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.cloud.stream.function.StreamBridge;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.test.context.bean.override.mockito.MockitoBean;

import java.util.HashMap;
import java.util.List;
Expand All @@ -41,9 +41,9 @@ class BuildWorkerServiceTest {
private BuildWorkerService buildWorkerService;
@Autowired
private ObjectMapper objectMapper;
@MockBean
@MockitoBean
private NetworkModificationService networkModificationService;
@MockBean
@MockitoBean
private StreamBridge publisher;

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.test.web.servlet.MockMvc;

import java.util.List;
Expand Down Expand Up @@ -67,10 +67,10 @@ class EquipmentIndexationTest {
@Autowired
private ModificationRepository modificationRepository;

@MockBean
@MockitoBean
private NetworkStoreService networkStoreService;

@MockBean
@MockitoBean
private ReportService reportService;

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.bean.override.mockito.MockitoBean;

import java.util.*;

Expand All @@ -52,7 +52,7 @@
class ModificationIndexationTest {

// Need to mock the send reports
@MockBean
@MockitoBean
private ReportService reportService;

@Autowired
Expand All @@ -64,7 +64,7 @@ class ModificationIndexationTest {
@Mock
private NetworkInfos networkInfos;

@MockBean
@MockitoBean
private NetworkStoreService networkStoreService;

@Mock
Expand Down
Loading