@@ -145,6 +145,7 @@ class LoadFlowTest {
145
145
private static final String LOADFLOW_RESULT_DESTINATION = "loadflow.result" ;
146
146
private static final String LOADFLOW_STOPPED_DESTINATION = "loadflow.stopped" ;
147
147
private static final String LOADFLOW_FAILED_DESTINATION = "loadflow.run.dlx" ;
148
+ private static final String LOADFLOW_MODIFICATIONS = "loadflow modifications mock" ;
148
149
149
150
@ Autowired
150
151
private MockMvc mockMvc ;
@@ -274,6 +275,10 @@ public MockResponse dispatch(RecordedRequest request) {
274
275
return new MockResponse (200 , Headers .of (HttpHeaders .CONTENT_TYPE , MediaType .APPLICATION_JSON_VALUE ), COMPUTING_STATUS_JSON );
275
276
} else if (path .matches ("/v1/results/" + LOADFLOW_RESULT_UUID + "/computation" )) {
276
277
return new MockResponse (404 );
278
+ } else if (path .matches ("/v1/results/" + LOADFLOW_RESULT_UUID + "/modifications" )) {
279
+ return new MockResponse (200 , Headers .of (HttpHeaders .CONTENT_TYPE , MediaType .APPLICATION_JSON_VALUE ), "loadflow modifications mock" );
280
+ } else if (path .matches ("/v1/results/" + LOADFLOW_ERROR_RESULT_UUID + "/modifications" )) {
281
+ return new MockResponse (404 );
277
282
} else if (path .matches ("/v1/results/invalidate-status\\ ?resultUuid=" + LOADFLOW_RESULT_UUID )) {
278
283
return new MockResponse (200 );
279
284
} else if (path .matches ("/v1/results/invalidate-status\\ ?resultUuid=" + LOADFLOW_RESULT_UUID + "&resultUuid=" + LOADFLOW_OTHER_NODE_RESULT_UUID )) {
@@ -958,6 +963,42 @@ void testInvalidateNodesAfterLoadflow(final MockWebServer server) throws Excepti
958
963
assertEquals (NodeBuildStatusEmbeddable .from (BuildStatus .NOT_BUILT ), rootNetworkNodeInfoService .getRootNetworkNodeInfo (node3 .getId (), rootNetworkUuid ).map (RootNetworkNodeInfoEntity ::getNodeBuildStatus ).orElseThrow ());
959
964
}
960
965
966
+ @ Test
967
+ void testGetLoadFlowModification (final MockWebServer server ) throws Exception {
968
+ StudyEntity studyEntity = insertDummyStudy (UUID .fromString (NETWORK_UUID_STRING ), CASE_LOADFLOW_UUID , LOADFLOW_PARAMETERS_UUID );
969
+ UUID studyUuid = studyEntity .getId ();
970
+ UUID rootNetworkUuid = studyTestUtils .getOneRootNetworkUuid (studyUuid );
971
+ RootNode rootNode = getRootNode (studyUuid );
972
+ NetworkModificationNode node1 = createNetworkModificationConstructionNode (studyUuid , rootNode .getId (), UUID .randomUUID (), VARIANT_ID , "N1" );
973
+ updateLoadflowResultUuid (node1 .getId (), rootNetworkUuid , UUID .fromString (LOADFLOW_RESULT_UUID ));
974
+
975
+ MvcResult mvcResult = mockMvc .perform (get ("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/loadflow/modifications" , studyUuid , rootNetworkUuid , node1 .getId ()))
976
+ .andExpect (status ().isOk ())
977
+ .andReturn ();
978
+
979
+ assertEquals (LOADFLOW_MODIFICATIONS , mvcResult .getResponse ().getContentAsString ());
980
+
981
+ assertRequestsDone (server , List .of ("/v1/results/" + LOADFLOW_RESULT_UUID + "/modifications" ));
982
+ }
983
+
984
+ @ Test
985
+ void testGetLoadFlowModificationNotFound (final MockWebServer server ) throws Exception {
986
+ StudyEntity studyEntity = insertDummyStudy (UUID .fromString (NETWORK_UUID_STRING ), CASE_LOADFLOW_UUID , LOADFLOW_PARAMETERS_UUID );
987
+ UUID studyUuid = studyEntity .getId ();
988
+ UUID rootNetworkUuid = studyTestUtils .getOneRootNetworkUuid (studyUuid );
989
+ RootNode rootNode = getRootNode (studyUuid );
990
+ NetworkModificationNode node1 = createNetworkModificationConstructionNode (studyUuid , rootNode .getId (), UUID .randomUUID (), VARIANT_ID , "N1" );
991
+
992
+ mockMvc .perform (get ("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/loadflow/modifications" , studyUuid , rootNetworkUuid , node1 .getId ()))
993
+ .andExpect (status ().isNotFound ());
994
+
995
+ updateLoadflowResultUuid (node1 .getId (), rootNetworkUuid , UUID .fromString (LOADFLOW_ERROR_RESULT_UUID ));
996
+ mockMvc .perform (get ("/v1/studies/{studyUuid}/root-networks/{rootNetworkUuid}/nodes/{nodeUuid}/loadflow/modifications" , studyUuid , rootNetworkUuid , node1 .getId ()))
997
+ .andExpect (status ().isNotFound ());
998
+
999
+ assertRequestsDone (server , List .of ("/v1/results/" + LOADFLOW_ERROR_RESULT_UUID + "/modifications" ));
1000
+ }
1001
+
961
1002
private void updateNodeBuildStatus (UUID nodeId , UUID rootNetworkUuid , BuildStatus buildStatus ) {
962
1003
RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity = rootNetworkNodeInfoRepository .findByNodeInfoIdAndRootNetworkId (nodeId , rootNetworkUuid ).orElseThrow ();
963
1004
rootNetworkNodeInfoEntity .setNodeBuildStatus (NodeBuildStatusEmbeddable .from (buildStatus ));
0 commit comments