Skip to content

Commit 2789854

Browse files
committed
fix test compile error
Signed-off-by: David BRAQUART <[email protected]>
1 parent ffe59ef commit 2789854

File tree

2 files changed

+44
-41
lines changed

2 files changed

+44
-41
lines changed

src/main/java/org/gridsuite/modification/server/modifications/NetworkModificationApplicator.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import com.powsybl.network.store.client.NetworkStoreService;
1818
import com.powsybl.network.store.client.PreloadingStrategy;
1919
import lombok.Getter;
20-
import lombok.Setter;
2120
import org.gridsuite.modification.ModificationType;
2221
import org.gridsuite.modification.dto.ModificationInfos;
2322
import org.gridsuite.modification.modifications.AbstractModification;
@@ -67,7 +66,6 @@ public class NetworkModificationApplicator {
6766
private final NetworkModificationRepository networkModificationRepository;
6867

6968
@Value("${impacts.collection-threshold:50}")
70-
@Setter // TODO REMOVE when VoltageInitReportTest will no longer use NetworkModificationApplicator
7169
private Integer collectionThreshold;
7270

7371
@Value("${naming-strategy:Default}")

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

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,18 @@
1313
import com.powsybl.commons.report.ReportNodeJsonModule;
1414
import com.powsybl.iidm.network.Network;
1515
import com.powsybl.iidm.network.ThreeSides;
16-
import com.powsybl.network.store.client.NetworkStoreService;
17-
import com.powsybl.network.store.client.NetworkStoreServicePublic;
18-
import com.powsybl.network.store.client.PreloadingStrategy;
19-
import com.powsybl.network.store.client.RestClient;
20-
import com.powsybl.network.store.iidm.impl.CachedNetworkStoreClient;
21-
import com.powsybl.network.store.iidm.impl.OfflineNetworkStoreClient;
22-
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
23-
import io.micrometer.observation.ObservationRegistry;
2416
import lombok.extern.slf4j.Slf4j;
2517
import org.gridsuite.modification.dto.*;
2618
import org.gridsuite.modification.server.dto.ModificationApplicationGroup;
2719
import org.gridsuite.modification.server.dto.NetworkInfos;
2820
import org.gridsuite.modification.server.dto.NetworkModificationResult;
2921
import org.gridsuite.modification.server.dto.NetworkModificationResult.ApplicationStatus;
3022
import org.gridsuite.modification.server.dto.ReportInfos;
31-
import org.gridsuite.modification.server.elasticsearch.ModificationApplicationInfosService;
32-
import org.gridsuite.modification.server.elasticsearch.EquipmentInfosService;
3323
import org.gridsuite.modification.server.entities.ModificationEntity;
3424
import org.gridsuite.modification.server.modifications.NetworkModificationApplicator;
35-
import org.gridsuite.modification.server.service.LargeNetworkModificationExecutionService;
36-
import org.gridsuite.modification.server.service.NetworkModificationObserver;
25+
import org.gridsuite.modification.server.repositories.NetworkModificationRepository;
3726
import org.gridsuite.modification.server.service.ReportService;
27+
import org.gridsuite.modification.server.utils.elasticsearch.DisableElasticsearch;
3828
import org.junit.jupiter.api.DisplayName;
3929
import org.junit.jupiter.api.TestInstance;
4030
import org.junit.jupiter.api.extension.ExtendWith;
@@ -45,19 +35,43 @@
4535
import org.mockito.Mockito;
4636
import org.mockito.junit.jupiter.MockitoExtension;
4737
import org.skyscreamer.jsonassert.JSONAssert;
38+
import org.springframework.beans.factory.annotation.Autowired;
39+
import org.springframework.boot.test.context.SpringBootTest;
40+
import org.springframework.boot.test.mock.mockito.MockBean;
4841

4942
import java.nio.file.Files;
5043
import java.nio.file.Paths;
5144
import java.time.Instant;
5245
import java.util.List;
5346
import java.util.UUID;
5447

48+
import static org.junit.jupiter.api.Assertions.assertNotNull;
49+
import static org.mockito.ArgumentMatchers.any;
50+
import static org.mockito.Mockito.atLeast;
51+
import static org.mockito.Mockito.verify;
5552
import static org.assertj.core.api.Assertions.assertThat;
5653

5754
@Slf4j
5855
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
5956
@ExtendWith({MockitoExtension.class})
57+
@SpringBootTest
58+
@DisableElasticsearch
6059
class VoltageInitReportTest {
60+
61+
@Autowired
62+
private NetworkModificationRepository modificationRepository;
63+
64+
@Autowired
65+
private NetworkModificationApplicator networkModificationApplicator;
66+
67+
@MockBean
68+
protected ReportService reportService;
69+
70+
private static final UUID NETWORK_ID = UUID.fromString("11111111-1111-1111-1111-111111111111");
71+
private static final UUID NODE_ID = UUID.fromString("99999999-9999-9999-9999-999999999999");
72+
private static final UUID REPORT_ID = UUID.fromString("88888888-8888-8888-8888-888888888888");
73+
private static final UUID GROUP_ID = UUID.randomUUID();
74+
6175
private final ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules()
6276
.registerModule(new ReportNodeJsonModule())
6377
.setInjectableValues(new InjectableValues.Std().addValue(ReportNodeDeserializer.DICTIONARY_VALUE_ID, null));
@@ -67,41 +81,32 @@ class VoltageInitReportTest {
6781
@ParameterizedTest(name = "result status = {0}")
6882
@DisplayName("Verifying logs after applying Voltage-Init server modifications on a network")
6983
void testVoltageInitDuplicationLogs(final ApplicationStatus resultStatus, final String logsJsonFile, final VoltageInitModificationInfos modificationInfos) throws Exception {
70-
final ReportService reportService = Mockito.mock(ReportService.class);
71-
final RestClient restClient = Mockito.mock(RestClient.class);
72-
final NetworkStoreService networkStoreService = new NetworkStoreServicePublic(restClient, PreloadingStrategy.NONE,
73-
(restClient_, preloadingStrategy, executorService) -> new CachedNetworkStoreClient(new OfflineNetworkStoreClient()));
74-
final EquipmentInfosService equipmentInfosService = Mockito.mock(EquipmentInfosService.class);
75-
final ModificationApplicationInfosService modificationApplicationInfosService = Mockito.mock(ModificationApplicationInfosService.class);
76-
final NetworkModificationObserver networkModificationObserver = new NetworkModificationObserver(ObservationRegistry.NOOP, new SimpleMeterRegistry());
77-
final LargeNetworkModificationExecutionService modificationExecutionService = new LargeNetworkModificationExecutionService(2, networkModificationObserver);
78-
final NetworkModificationApplicator networkModificationApplicator = new NetworkModificationApplicator(networkStoreService, equipmentInfosService, modificationApplicationInfosService, reportService, null, null, networkModificationObserver, modificationExecutionService);
79-
networkModificationApplicator.setCollectionThreshold(5);
80-
8184
final Network network = Network.read(Paths.get(this.getClass().getClassLoader().getResource("fourSubstations_testsOpenReac.xiidm").toURI()));
8285

83-
//for internal call to reportService.sendReport(reportInfos.getReportUuid(), reporter);
84-
final ArgumentCaptor<ReportNode> reporterCaptor = ArgumentCaptor.forClass(ReportNode.class);
85-
86-
final UUID networkUuuid = UUID.fromString("11111111-1111-1111-1111-111111111111");
87-
final UUID reportUuid = UUID.fromString("88888888-8888-8888-8888-888888888888");
88-
//simulate PUT /v1/groups/abc?action=COPY with body ModificationApplicationContext(networkUuid=0000, reportUuid=0000, reporterId=0000, variantId=0000, duplicateFrom=0000)
89-
assertThat(networkModificationApplicator.applyModifications(
90-
new ModificationApplicationGroup(UUID.randomUUID(), List.of(ModificationEntity.fromDTO(modificationInfos)), new ReportInfos(reportUuid, UUID.fromString("99999999-9999-9999-9999-999999999999"))),
91-
new NetworkInfos(network, networkUuuid, true)))
92-
.as("network modifications results")
93-
.isNotNull()
94-
.extracting(NetworkModificationResult::getApplicationStatus)
95-
.isEqualTo(resultStatus);
86+
// apply a VoltageInit modification and check status
87+
assertThat(applyModification(network, modificationInfos))
88+
.as("voltage init result status")
89+
.isEqualTo(resultStatus);
9690

97-
Mockito.verify(reportService, Mockito.times(1)).sendReport(Mockito.eq(reportUuid), reporterCaptor.capture());
91+
// check produced report json data
92+
ArgumentCaptor<ReportNode> reporterCaptor = ArgumentCaptor.forClass(ReportNode.class);
93+
verify(reportService, atLeast(1)).sendReport(any(UUID.class), reporterCaptor.capture());
9894
final ReportNode result = reporterCaptor.getValue();
99-
log.info("Result = {}", objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(result));
95+
assertNotNull(result);
10096
JSONAssert.assertEquals("voltage-init plan logs aggregated",
10197
Files.readString(Paths.get(this.getClass().getClassLoader().getResource(logsJsonFile).toURI())),
10298
objectMapper.writeValueAsString(result), false);
10399
Mockito.verifyNoMoreInteractions(reportService);
104-
Mockito.reset(reportService); //because parametized tests haven't same lifecycle than tests
100+
Mockito.reset(reportService); //because parameterized tests haven't same lifecycle than tests
101+
}
102+
103+
private ApplicationStatus applyModification(Network network, VoltageInitModificationInfos infos) {
104+
List<ModificationEntity> entities = modificationRepository.saveModifications(GROUP_ID, List.of(ModificationEntity.fromDTO(infos)));
105+
List<ModificationApplicationGroup> modificationInfosGroups = List.of(
106+
new ModificationApplicationGroup(GROUP_ID, entities, new ReportInfos(REPORT_ID, NODE_ID))
107+
);
108+
NetworkModificationResult result = networkModificationApplicator.applyModifications(modificationInfosGroups, new NetworkInfos(network, NETWORK_ID, true));
109+
return result.getApplicationStatus();
105110
}
106111

107112
private static List<Arguments> voltageInitModifications() {

0 commit comments

Comments
 (0)