Skip to content

Commit 9fb3765

Browse files
committed
refactor: for parameter servers, update existing parameters instead of creating new and deleting old
Added forgotten ShortCircuit parameter deletion on study deletion Use DTO for updating LoadFlow parameters Refactored createOrUpdate methods for parameters to better handle the creation of new parameters or update of existing parameters and removed the return in the middle of the method Updated tests to work with updated code
1 parent ac2eec5 commit 9fb3765

11 files changed

Lines changed: 260 additions & 198 deletions

File tree

src/main/java/org/gridsuite/study/server/controller/StudyController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1080,7 +1080,7 @@ public ResponseEntity<List<String>> getResultEnumValues(@Parameter(description =
10801080
@ApiResponse(responseCode = "204", description = "Reset with user profile cannot be done")})
10811081
public ResponseEntity<Void> setLoadflowParameters(
10821082
@PathVariable("studyUuid") UUID studyUuid,
1083-
@RequestBody(required = false) String lfParameter,
1083+
@RequestBody(required = false) LoadFlowParametersInfos lfParameter,
10841084
@RequestHeader(HEADER_USER_ID) String userId) {
10851085
studyService.assertNoBlockedNodeInStudy(studyUuid, networkModificationTreeService.getStudyRootNodeUuid(studyUuid));
10861086
return studyService.setLoadFlowParameters(studyUuid, lfParameter, userId) ? ResponseEntity.noContent().build() : ResponseEntity.ok().build();

src/main/java/org/gridsuite/study/server/service/LoadFlowService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ public LoadFlowParametersInfos getLoadFlowParameters(UUID parametersUuid) {
241241
return restTemplate.getForObject(loadFlowServerBaseUri + path, LoadFlowParametersInfos.class);
242242
}
243243

244-
public UUID createLoadFlowParameters(String parameters) {
244+
public UUID createLoadFlowParameters(LoadFlowParametersInfos lfParameters) {
245245

246-
Objects.requireNonNull(parameters);
246+
Objects.requireNonNull(lfParameters);
247247

248248
var path = UriComponentsBuilder
249249
.fromPath(DELIMITER + LOADFLOW_API_VERSION + "/parameters")
@@ -253,7 +253,7 @@ public UUID createLoadFlowParameters(String parameters) {
253253
HttpHeaders headers = new HttpHeaders();
254254
headers.setContentType(MediaType.APPLICATION_JSON);
255255

256-
HttpEntity<String> httpEntity = new HttpEntity<>(parameters, headers);
256+
HttpEntity<LoadFlowParametersInfos> httpEntity = new HttpEntity<>(lfParameters, headers);
257257

258258
return restTemplate.postForObject(loadFlowServerBaseUri + path, httpEntity, UUID.class);
259259
}
@@ -270,7 +270,7 @@ public UUID duplicateLoadFlowParameters(UUID sourceParametersUuid) {
270270
return restTemplate.postForObject(loadFlowServerBaseUri + path, null, UUID.class);
271271
}
272272

273-
public void updateLoadFlowParameters(UUID parametersUuid, @Nullable String parameters) {
273+
public void updateLoadFlowParameters(UUID parametersUuid, @Nullable LoadFlowParametersInfos lfParameters) {
274274
var path = UriComponentsBuilder
275275
.fromPath(DELIMITER + LOADFLOW_API_VERSION + PARAMETERS_URI)
276276
.buildAndExpand(parametersUuid)
@@ -279,7 +279,7 @@ public void updateLoadFlowParameters(UUID parametersUuid, @Nullable String param
279279
HttpHeaders headers = new HttpHeaders();
280280
headers.setContentType(MediaType.APPLICATION_JSON);
281281

282-
HttpEntity<String> httpEntity = new HttpEntity<>(parameters, headers);
282+
HttpEntity<LoadFlowParametersInfos> httpEntity = new HttpEntity<>(lfParameters, headers);
283283

284284
restTemplate.put(loadFlowServerBaseUri + path, httpEntity);
285285
}

src/main/java/org/gridsuite/study/server/service/StudyService.java

Lines changed: 207 additions & 150 deletions
Large diffs are not rendered by default.

src/main/java/org/gridsuite/study/server/service/shortcircuit/ShortCircuitService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ public UUID duplicateParameters(UUID parametersUuid) {
315315
.toUri(), new HttpEntity<>(headers), UUID.class);
316316
}
317317

318-
public void deleteShortcircuitParameters(UUID uuid) {
318+
public void deleteShortCircuitParameters(UUID uuid) {
319319
Objects.requireNonNull(uuid);
320320
String path = UriComponentsBuilder.fromPath(DELIMITER + SHORT_CIRCUIT_API_VERSION + PARAMETERS_URI)
321321
.buildAndExpand(uuid)

src/test/java/org/gridsuite/study/server/LoadFlowTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ private void createOrUpdateParametersAndDoChecks(UUID studyNameUserIdUuid, Strin
698698
mockMvc.perform(
699699
post("/v1/studies/{studyUuid}/loadflow/parameters", studyNameUserIdUuid)
700700
.header("userId", userId)
701-
.contentType(MediaType.ALL)
701+
.contentType(MediaType.APPLICATION_JSON)
702702
.content(parameters))
703703
.andExpect(status().is(status.value()));
704704

@@ -749,9 +749,9 @@ void testResetLoadFlowParametersUserHasInvalidParamsInProfile(final MockWebServe
749749
createOrUpdateParametersAndDoChecks(studyNameUserIdUuid, "", INVALID_PARAMS_IN_PROFILE_USER_ID, HttpStatus.NO_CONTENT);
750750

751751
var requests = TestUtils.getRequestsDone(3, server);
752-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + INVALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
753-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + LOADFLOW_PARAMETERS_UUID_STRING))); // update existing with dft
754-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_LOADFLOW_INVALID_PARAMETERS_UUID_STRING))); // post duplicate ko
752+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + INVALID_PARAMS_IN_PROFILE_USER_ID + "/profile"))); // retrieve user profile infos ok
753+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_LOADFLOW_INVALID_PARAMETERS_UUID_STRING))); // retrieve user profile parameters ko
754+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + LOADFLOW_PARAMETERS_UUID_STRING))); // put update existing with dft
755755
}
756756

757757
@Test
@@ -760,11 +760,10 @@ void testResetLoadFlowParametersUserHasValidParamsInProfile(final MockWebServer
760760
UUID studyNameUserIdUuid = studyEntity.getId();
761761
createOrUpdateParametersAndDoChecks(studyNameUserIdUuid, "", VALID_PARAMS_IN_PROFILE_USER_ID, HttpStatus.OK);
762762

763-
var requests = TestUtils.getRequestsDone(5, server);
764-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
765-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + LOADFLOW_PARAMETERS_UUID_STRING))); // 2 requests: 1 get for provider and then delete existing
766-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_LOADFLOW_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
767-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_LOADFLOW_DUPLICATED_PARAMETERS_UUID_STRING + "/provider"))); // patch duplicated params for provider
763+
var requests = TestUtils.getRequestsDone(4, server);
764+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile"))); // retrieve user profile infos ok
765+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_LOADFLOW_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
766+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + LOADFLOW_PARAMETERS_UUID_STRING))); // 2 requests: first: get existing study loadflow parameters to retrieve provider; second: put update existing with retrieved parameters from user profile
768767
}
769768

770769
@Test
@@ -773,9 +772,10 @@ void testResetLoadFlowParametersUserHasValidParamsInProfileButNoExistingLoadflow
773772
UUID studyNameUserIdUuid = studyEntity.getId();
774773
createOrUpdateParametersAndDoChecks(studyNameUserIdUuid, "", VALID_PARAMS_IN_PROFILE_USER_ID, HttpStatus.OK);
775774

776-
var requests = TestUtils.getRequestsDone(2, server);
777-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
778-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_LOADFLOW_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
775+
var requests = TestUtils.getRequestsDone(3, server);
776+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile"))); // retrieve user profile ok
777+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_LOADFLOW_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
778+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters"))); // post create parameters ok using retrieved parameters
779779
}
780780

781781
// the following testGetDefaultProviders tests are related to StudyTest::testGetDefaultProviders but with a user and different profile cases

src/test/java/org/gridsuite/study/server/SecurityAnalysisTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,7 @@ void testResetSecurityAnalysisParametersUserHasInvalidParamsInProfile(final Mock
855855
var requests = TestUtils.getRequestsDone(3, server);
856856
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + INVALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
857857
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SECURITY_ANALYSIS_PARAMETERS_UUID_STRING))); // update existing with dft
858-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SECURITY_ANALYSIS_INVALID_PARAMETERS_UUID_STRING))); // post duplicate ko
858+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SECURITY_ANALYSIS_INVALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ko
859859
}
860860

861861
@Test
@@ -883,8 +883,8 @@ void testResetSecurityAnalysisParametersUserHasValidParamsInProfile(final MockWe
883883
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/networks/" + NETWORK_UUID_STRING + "/run-and-save.*contingencyListName=" + CONTINGENCY_LIST_NAME + "&receiver=.*nodeUuid.*")));
884884
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/results/invalidate-status\\?resultUuid=.*"))); // result has been invalidated by params reset
885885
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
886-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SECURITY_ANALYSIS_PARAMETERS_UUID_STRING))); // 2 requests: 1 get for provider and then delete existing
887-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SECURITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
886+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SECURITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // get retrieve existing user profile parameters ok
887+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SECURITY_ANALYSIS_PARAMETERS_UUID_STRING))); // put update existing parameters with retrieved parameters from user profile
888888
}
889889

890890
@Test
@@ -893,8 +893,9 @@ void testResetSecurityAnalysisParametersUserHasValidParamsInProfileButNoExisting
893893
UUID studyNameUserIdUuid = studyEntity.getId();
894894
createOrUpdateParametersAndDoChecks(studyNameUserIdUuid, "", VALID_PARAMS_IN_PROFILE_USER_ID, HttpStatus.OK);
895895

896-
var requests = TestUtils.getRequestsDone(2, server);
896+
var requests = TestUtils.getRequestsDone(3, server);
897897
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
898-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SECURITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
898+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SECURITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
899+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters"))); // post create parameters using parameters retrieved from user profile
899900
}
900901
}

src/test/java/org/gridsuite/study/server/SensitivityAnalysisTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -809,8 +809,8 @@ void testResetSensitivityAnalysisParametersUserHasInvalidParamsInProfile(final M
809809

810810
var requests = TestUtils.getRequestsDone(3, server);
811811
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + INVALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
812+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SENSITIVITY_ANALYSIS_INVALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ko
812813
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SENSITIVITY_ANALYSIS_PARAMETERS_UUID_STRING))); // update existing with dft
813-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SENSITIVITY_ANALYSIS_INVALID_PARAMETERS_UUID_STRING))); // post duplicate ko
814814
}
815815

816816
@Test
@@ -833,8 +833,8 @@ void testResetSensitivityAnalysisParametersUserHasValidParamsInProfile(final Moc
833833
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/networks/" + NETWORK_UUID_STRING + "/run-and-save\\?reportUuid=.*&reporterId=.*&reportType=SensitivityAnalysis&parametersUuid=.*&loadFlowParametersUuid=.*&variantId=" + VARIANT_ID + "&receiver=.*")));
834834
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/results/invalidate-status\\?resultUuid=.*"))); // result has been invalidated by params reset
835835
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
836-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SENSITIVITY_ANALYSIS_PARAMETERS_UUID_STRING)));
837-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SENSITIVITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
836+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SENSITIVITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
837+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SENSITIVITY_ANALYSIS_PARAMETERS_UUID_STRING))); // put update existing parameters with parameters retrieved from user profile
838838
}
839839

840840
@Test
@@ -843,8 +843,9 @@ void testResetSensitivityAnalysisParametersUserHasValidParamsInProfileButNoExist
843843
UUID studyNameUserIdUuid = studyEntity.getId();
844844
createOrUpdateParametersAndDoChecks(studyNameUserIdUuid, "", VALID_PARAMS_IN_PROFILE_USER_ID, HttpStatus.OK);
845845

846-
var requests = TestUtils.getRequestsDone(2, server);
846+
var requests = TestUtils.getRequestsDone(3, server);
847847
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
848-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SENSITIVITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
848+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SENSITIVITY_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
849+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters"))); // create parameters using retrieve parameters from user profile
849850
}
850851
}

src/test/java/org/gridsuite/study/server/ShortCircuitTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -840,8 +840,8 @@ void testResetShortCircuitAnalysisParametersUserHasInvalidParamsInProfile(final
840840

841841
var requests = TestUtils.getRequestsDone(3, server);
842842
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + INVALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
843-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID_STRING))); // update existing with dft
844-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SHORT_CIRCUIT_ANALYSIS_INVALID_PARAMETERS_UUID_STRING))); // post duplicate ko
843+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SHORT_CIRCUIT_ANALYSIS_INVALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ko
844+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID_STRING))); // put update existing with dft
845845
}
846846

847847
@Test
@@ -852,8 +852,8 @@ void testResetShortCircuitAnalysisParametersUserHasValidParamsInProfile(final Mo
852852

853853
var requests = TestUtils.getRequestsDone(3, server);
854854
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
855-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID_STRING)));
856-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SHORT_CIRCUIT_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
855+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SHORT_CIRCUIT_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
856+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID_STRING))); // put update existing with parameters from user profile
857857
}
858858

859859
@Test
@@ -862,9 +862,10 @@ void testResetShortCircuitAnalysisParametersUserHasValidParamsInProfileButNoExis
862862
UUID studyNameUserIdUuid = studyEntity.getId();
863863
createOrUpdateParametersAndDoChecks(studyNameUserIdUuid, "", VALID_PARAMS_IN_PROFILE_USER_ID, HttpStatus.OK);
864864

865-
var requests = TestUtils.getRequestsDone(2, server);
865+
var requests = TestUtils.getRequestsDone(3, server);
866866
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/users/" + VALID_PARAMS_IN_PROFILE_USER_ID + "/profile")));
867-
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters?duplicateFrom=" + PROFILE_SHORT_CIRCUIT_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // post duplicate ok
867+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters/" + PROFILE_SHORT_CIRCUIT_ANALYSIS_VALID_PARAMETERS_UUID_STRING))); // get retrieve user profile parameters ok
868+
assertTrue(requests.stream().anyMatch(r -> r.equals("/v1/parameters"))); // post create parameters using retrieved user profile parameters
868869
}
869870

870871
private StudyEntity insertDummyStudy(UUID networkUuid, UUID caseUuid, UUID shortCircuitParametersUuid) {

src/test/java/org/gridsuite/study/server/SpreadsheetConfigCollectionTest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class SpreadsheetConfigCollectionTest {
8383

8484
private static final String NO_PROFILE_USER_ID = "noProfileUser";
8585
private static final String VALID_PROFILE_USER_ID = "validProfileUser";
86-
private static final String USER_PROFILE_VALID_PARAMS_JSON = "{\"id\":\"97bb1890-a90c-43c3-a004-e631246d42d6\",\"name\":\"Profile with valid params\",\"spreadsheetConfigCollectionId\":\"" + SPREADSHEET_CONFIG_COLLECTION_UUID_STRING + "\"}";
86+
private static final String USER_PROFILE_VALID_PARAMS_JSON = "{\"id\":\"97bb1890-a90c-43c3-a004-e631246d42d6\",\"name\":\"Profile with valid params\",\"spreadsheetConfigCollectionId\":\"" + NEW_SPREADSHEET_CONFIG_COLLECTION_UUID_STRING + "\"}";
8787

8888
// UUID for testing delete failure
8989
private static final String ERROR_DELETE_COLLECTION_UUID_STRING = "7715da48-3390-47cb-8d9a-f936c8ca6a71";
@@ -397,14 +397,13 @@ void testResetToDefaultWithUserProfile(final MockWebServer server) throws Except
397397

398398
// Check that the study has been updated with the new collection from user profile
399399
StudyEntity updatedStudy = studyRepository.findById(studyUuid).orElseThrow();
400-
assertEquals(NEW_SPREADSHEET_CONFIG_COLLECTION_UUID, updatedStudy.getSpreadsheetConfigCollectionUuid());
400+
assertEquals(SPREADSHEET_CONFIG_COLLECTION_UUID, updatedStudy.getSpreadsheetConfigCollectionUuid()); // Keep existing spreadsheet config collection id
401401

402402
// Verify HTTP requests made to the server - should duplicate from a profile collection
403403
var requests = TestUtils.getRequestsDone(3, server);
404404
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/users/" + VALID_PROFILE_USER_ID + "/profile")));
405-
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/spreadsheet-config-collections\\?duplicateFrom=.*")));
406-
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/spreadsheet-config-collections/" + SPREADSHEET_CONFIG_COLLECTION_UUID_STRING))); // delete old collection
407-
405+
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/spreadsheet-config-collections/" + NEW_SPREADSHEET_CONFIG_COLLECTION_UUID_STRING))); // get retrieve user profile config collection
406+
assertTrue(requests.stream().anyMatch(r -> r.matches("/v1/spreadsheet-config-collections/" + SPREADSHEET_CONFIG_COLLECTION_UUID_STRING))); // put update existing config collection with user profile config collection
408407
}
409408

410409
@Test

0 commit comments

Comments
 (0)