Skip to content

Commit 22852d9

Browse files
committed
fix TUs
Signed-off-by: David BRAQUART <[email protected]>
1 parent 8cb7308 commit 22852d9

File tree

6 files changed

+18
-91
lines changed

6 files changed

+18
-91
lines changed

src/main/java/org/gridsuite/modification/server/entities/equipment/modification/EquipmentModificationEntity.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,14 @@ public void update(ModificationInfos modificationInfos) {
4343

4444
private void assignAttributes(EquipmentModificationInfos equipmentModificationInfos) {
4545
equipmentId = equipmentModificationInfos.getEquipmentId();
46-
List<FreePropertyEntity> newProperties = equipmentModificationInfos.getProperties() == null ? null :
46+
List<FreePropertyEntity> newProperties = equipmentModificationInfos.getProperties() == null ? List.of() :
4747
equipmentModificationInfos.getProperties().stream()
4848
.map(FreePropertyEntity::new)
4949
.toList();
5050
if (this.properties != null) {
5151
// update using the same reference with clear/add (to avoid JPA exception)
5252
this.properties.clear();
53-
if (newProperties != null) {
54-
this.properties.addAll(newProperties);
55-
}
53+
this.properties.addAll(newProperties);
5654
} else {
5755
this.properties = newProperties;
5856
}

src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,6 @@ public List<ModificationEntity> saveModifications(UUID groupUuid, List<Modificat
113113
return saveModificationsNonTransactional(groupUuid, modifications);
114114
}
115115

116-
@Transactional // To have all create in the same transaction (atomic)
117-
// TODO Remove transaction when errors will no longer be sent to the front
118116
public List<ModificationEntity> saveModificationInfos(UUID groupUuid, List<ModificationInfos> modifications) {
119117
List<ModificationEntity> entities = modifications.stream().map(ModificationEntity::fromDTO).toList();
120118

src/main/java/org/gridsuite/modification/server/service/NetworkModificationService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,7 @@ public void restoreNetworkModifications(UUID groupUuid, @NonNull List<UUID> modi
191191
networkModificationRepository.getModificationsCount(groupUuid, false));
192192
}
193193

194-
// No transactional because we need to save modification in DB also in case of error
195-
// Transaction made in 'saveModifications' method
196-
// TODO Add transaction when errors will no longer be sent to the front
194+
@Transactional
197195
public NetworkModificationsResult createNetworkModification(@NonNull UUID groupUuid, @NonNull ModificationInfos modificationInfo, @NonNull List<ModificationApplicationContext> applicationContexts) {
198196
List<ModificationEntity> modificationEntities = networkModificationRepository.saveModificationInfos(groupUuid, List.of(modificationInfo));
199197

src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ void testNetworkModificationsWithErrorOnNetworkFlush() throws Exception {
451451

452452
mockMvc.perform(post(NETWORK_MODIFICATION_URI).content(groovyScriptInfosJson).contentType(MediaType.APPLICATION_JSON)).andExpect(status().is5xxServerError());
453453

454-
assertEquals(1, modificationRepository.getModifications(TEST_GROUP_ID, true, false).size());
454+
assertEquals(0, modificationRepository.getModifications(TEST_GROUP_ID, true, false).size());
455455
}
456456

457457
@Test

src/test/java/org/gridsuite/modification/server/modifications/tabularcreations/TabularGeneratorCreationsTest.java

Lines changed: 6 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,19 @@
1212
import com.powsybl.iidm.network.IdentifiableType;
1313
import com.powsybl.iidm.network.Network;
1414
import com.powsybl.iidm.network.extensions.ConnectablePosition;
15+
import jakarta.servlet.ServletException;
1516
import org.gridsuite.modification.ModificationType;
1617
import org.gridsuite.modification.dto.FreePropertyInfos;
1718
import org.gridsuite.modification.dto.GeneratorCreationInfos;
1819
import org.gridsuite.modification.dto.ModificationInfos;
1920
import org.gridsuite.modification.dto.SubstationCreationInfos;
2021
import org.gridsuite.modification.dto.tabular.*;
21-
import org.gridsuite.modification.server.dto.NetworkModificationsResult;
2222
import org.gridsuite.modification.server.impacts.AbstractBaseImpact;
2323
import org.gridsuite.modification.server.modifications.AbstractNetworkModificationTest;
2424
import org.gridsuite.modification.server.utils.NetworkCreation;
2525
import org.junit.jupiter.api.Tag;
2626
import org.junit.jupiter.api.Test;
2727
import org.springframework.http.MediaType;
28-
import org.springframework.test.web.servlet.MvcResult;
2928

3029
import java.util.List;
3130
import java.util.Map;
@@ -339,43 +338,11 @@ void testUnsupportedTabularCreationType() throws Exception {
339338
.build();
340339
String tabularCreationJson = getJsonBody(creationInfos, null);
341340

342-
// creation
343-
MvcResult mvcResult = mockMvc.perform(post(getNetworkModificationUri()).content(tabularCreationJson)
344-
.contentType(MediaType.APPLICATION_JSON))
345-
.andExpect(status().isOk()).andReturn();
346-
NetworkModificationsResult result = mapper.readValue(mvcResult.getResponse().getContentAsString(), new TypeReference<>() { });
347-
assertNotNull(result);
348-
assertEquals(1, result.modificationUuids().size());
349-
UUID modifId = result.modificationUuids().get(0);
350-
351-
// try to get via the group
352-
UnsupportedOperationException exception = assertThrows(
353-
UnsupportedOperationException.class,
354-
() -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true)
355-
);
356-
assertEquals("No sub-modifications loading for modification type: SUBSTATION_CREATION", exception.getMessage());
357-
358-
// try to get via id
359-
exception = assertThrows(
360-
UnsupportedOperationException.class,
361-
() -> networkModificationRepository.getModificationInfo(modifId)
362-
);
363-
assertEquals("No sub-modifications loading for modification type: SUBSTATION_CREATION", exception.getMessage());
364-
365-
// try to update
366-
exception = assertThrows(
367-
UnsupportedOperationException.class,
368-
() -> networkModificationRepository.updateModification(modifId, creationInfos)
369-
);
370-
// deletion error because we try to remove the sub-modifications before updating them
371-
assertEquals("No sub-modifications deletion method for type: SUBSTATION_CREATION", exception.getMessage());
372-
373-
// try to delete
374-
List<UUID> ids = List.of(modifId);
375-
exception = assertThrows(
376-
UnsupportedOperationException.class,
377-
() -> networkModificationRepository.deleteModifications(TEST_GROUP_ID, ids)
341+
// try to create something impossible
342+
ServletException exception = assertThrows(
343+
ServletException.class,
344+
() -> mockMvc.perform(post(getNetworkModificationUri()).content(tabularCreationJson).contentType(MediaType.APPLICATION_JSON))
378345
);
379-
assertEquals("No sub-modifications deletion method for type: SUBSTATION_CREATION", exception.getMessage());
346+
assertEquals("No sub-modifications loading for modification type: SUBSTATION_CREATION", exception.getRootCause().getMessage());
380347
}
381348
}

src/test/java/org/gridsuite/modification/server/modifications/tabularmodifications/TabularGeneratorModificationsTest.java

Lines changed: 8 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import com.powsybl.iidm.network.Network;
1111
import com.powsybl.iidm.network.StaticVarCompensator;
1212
import com.powsybl.iidm.network.extensions.ConnectablePosition;
13+
import jakarta.servlet.ServletException;
1314
import org.gridsuite.modification.ModificationType;
1415
import org.gridsuite.modification.dto.*;
1516
import org.gridsuite.modification.dto.tabular.TabularModificationInfos;
1617
import org.gridsuite.modification.dto.tabular.TabularPropertyInfos;
17-
import org.gridsuite.modification.server.dto.NetworkModificationsResult;
1818
import org.gridsuite.modification.server.modifications.AbstractNetworkModificationTest;
1919
import org.gridsuite.modification.server.repositories.ModificationRepository;
2020
import org.gridsuite.modification.server.repositories.TabularPropertyRepository;
@@ -26,7 +26,6 @@
2626
import org.junit.jupiter.api.Test;
2727
import org.springframework.beans.factory.annotation.Autowired;
2828
import org.springframework.http.MediaType;
29-
import org.springframework.test.web.servlet.MvcResult;
3029
import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Pair;
3130

3231
import java.util.List;
@@ -42,7 +41,6 @@
4241
import static org.assertj.core.api.Assertions.assertThat;
4342
import static org.gridsuite.modification.server.utils.TestUtils.assertLogMessage;
4443
import static org.junit.jupiter.api.Assertions.assertEquals;
45-
import static org.junit.jupiter.api.Assertions.assertNotNull;
4644
import static org.junit.jupiter.api.Assertions.assertThrows;
4745
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
4846
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -172,7 +170,7 @@ void testSqlRequestsCountOnPostGroups() throws Exception {
172170

173171
reset();
174172
ApiUtils.postGroups(mockMvc, getGroupId(), targetGroupUuid);
175-
TestUtils.assertRequestsCount(12, 9, 2, 0); // (13, 9, 2, 0) before improvements
173+
TestUtils.assertRequestsCount(13, 9, 2, 0); // (13, 9, 2, 0) before improvements
176174
assertTabularModificationsEquals(modifications, targetGroupUuid);
177175
}
178176

@@ -183,7 +181,7 @@ void testSqlRequestsCountOnPostGroups2() throws Exception {
183181

184182
reset();
185183
ApiUtils.postGroups(mockMvc, getGroupId(), targetGroupUuid);
186-
TestUtils.assertRequestsCount(20, 10, 2, 0); // (95, 10, 2, 0) before improvements, why one additional insert ? It feels batch_size is limited at 100 for insertions and is it reached for reactive_capability_curve_points
184+
TestUtils.assertRequestsCount(21, 10, 2, 0); // (95, 10, 2, 0) before improvements, why one additional insert ? It feels batch_size is limited at 100 for insertions and is it reached for reactive_capability_curve_points
187185
assertTabularModificationsEquals(modifications, targetGroupUuid);
188186
}
189187

@@ -597,44 +595,12 @@ void testUnsupportedTabularModificationType() throws Exception {
597595
.build();
598596
String tabularModificationJson = getJsonBody(tabularInfos, null);
599597

600-
// creation
601-
MvcResult mvcResult = mockMvc.perform(post(getNetworkModificationUri()).content(tabularModificationJson)
602-
.contentType(MediaType.APPLICATION_JSON))
603-
.andExpect(status().isOk()).andReturn();
604-
NetworkModificationsResult result = mapper.readValue(mvcResult.getResponse().getContentAsString(), new TypeReference<>() { });
605-
assertNotNull(result);
606-
assertEquals(1, result.modificationUuids().size());
607-
UUID modifId = result.modificationUuids().get(0);
608-
609-
// try to get via the group
610-
UnsupportedOperationException exception = assertThrows(
611-
UnsupportedOperationException.class,
612-
() -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true)
613-
);
614-
assertEquals("No sub-modifications loading for modification type: STATIC_VAR_COMPENSATOR_CREATION", exception.getMessage());
615-
616-
// try to get via id
617-
exception = assertThrows(
618-
UnsupportedOperationException.class,
619-
() -> networkModificationRepository.getModificationInfo(modifId)
620-
);
621-
assertEquals("No sub-modifications loading for modification type: STATIC_VAR_COMPENSATOR_CREATION", exception.getMessage());
622-
623-
// try to update
624-
exception = assertThrows(
625-
UnsupportedOperationException.class,
626-
() -> networkModificationRepository.updateModification(modifId, tabularInfos)
627-
);
628-
// deletion error because we try to remove the sub-modifications before updating them
629-
assertEquals("No sub-modifications deletion method for type: STATIC_VAR_COMPENSATOR_CREATION", exception.getMessage());
630-
631-
// try to delete
632-
List<UUID> ids = List.of(modifId);
633-
exception = assertThrows(
634-
UnsupportedOperationException.class,
635-
() -> networkModificationRepository.deleteModifications(TEST_GROUP_ID, ids)
598+
// try to create something impossible
599+
ServletException exception = assertThrows(
600+
ServletException.class,
601+
() -> mockMvc.perform(post(getNetworkModificationUri()).content(tabularModificationJson).contentType(MediaType.APPLICATION_JSON))
636602
);
637-
assertEquals("No sub-modifications deletion method for type: STATIC_VAR_COMPENSATOR_CREATION", exception.getMessage());
603+
assertEquals("No sub-modifications loading for modification type: STATIC_VAR_COMPENSATOR_CREATION", exception.getRootCause().getMessage());
638604
}
639605

640606
@Override

0 commit comments

Comments
 (0)