@@ -5387,51 +5387,51 @@ private Stream<Arguments> updateExperiment_whenInvalidUpdate_thenReturn400() {
53875387 @ Test
53885388 @ DisplayName ("when updating experiment multiple times with partial updates, then latest values are preserved" )
53895389 void updateExperiment_whenMultiplePartialUpdates_thenLatestValuesPreserved () {
5390- // given - Create experiment with original values
5391- var originalMetadata = JsonUtils . getJsonNodeFromString ( "{ \" version \" : \" 1.0 \" , \" model \" : \" gpt-3 \" }" );
5390+ var originalName = " original-" + RandomStringUtils . secure (). nextAlphanumeric ( 32 );
5391+ var originalMetadata = podamFactory . manufacturePojo ( JsonNode . class );
53925392 var initialExperiment = experimentResourceClient .createPartialExperiment ()
5393- .name ("Original Name" )
5393+ .name (originalName )
53945394 .metadata (originalMetadata )
5395- .type (ExperimentType .REGULAR )
5396- .status (ExperimentStatus .RUNNING )
53975395 .build ();
53985396 var experimentId = experimentResourceClient .create (initialExperiment , API_KEY , TEST_WORKSPACE );
53995397
5400- // when - First update: Change both name and metadata
5401- var firstUpdateMetadata = JsonUtils .getJsonNodeFromString ("{\" version\" : \" 2.0\" , \" model\" : \" gpt-4\" }" );
5398+ // First update: Change both name and metadata with random values
5399+ var firstUpdateName = "first-update-" + RandomStringUtils .secure ().nextAlphanumeric (32 );
5400+ var firstUpdateMetadata = podamFactory .manufacturePojo (JsonNode .class );
54025401 var firstUpdate = ExperimentUpdate .builder ()
5403- .name ("First Update Name" )
5402+ .name (firstUpdateName )
54045403 .metadata (firstUpdateMetadata )
54055404 .build ();
5406- experimentResourceClient .updateExperiment (experimentId , firstUpdate , API_KEY , TEST_WORKSPACE ,
5407- HttpStatus .SC_NO_CONTENT );
5405+ experimentResourceClient .updateExperiment (
5406+ experimentId , firstUpdate , API_KEY , TEST_WORKSPACE , HttpStatus .SC_NO_CONTENT );
54085407
5409- // when - Second update: Change only the name
5408+ // Second update: Change only the name with random value
5409+ var secondUpdateName = "second-update-" + RandomStringUtils .secure ().nextAlphanumeric (32 );
54105410 var secondUpdate = ExperimentUpdate .builder ()
5411- .name ("Second Update Name" )
5411+ .name (secondUpdateName )
54125412 .build ();
5413- experimentResourceClient .updateExperiment (experimentId , secondUpdate , API_KEY , TEST_WORKSPACE ,
5414- HttpStatus .SC_NO_CONTENT );
5413+ experimentResourceClient .updateExperiment (
5414+ experimentId , secondUpdate , API_KEY , TEST_WORKSPACE , HttpStatus .SC_NO_CONTENT );
54155415
5416- // then - Verify that metadata from first update is preserved (not from original)
5416+ // Verify that metadata from first update is preserved (not from original)
54175417 var expectedExperiment = initialExperiment .toBuilder ()
5418- .name ("Second Update Name" )
5419- .metadata (firstUpdateMetadata ) // Should have metadata from first update
5418+ .name (secondUpdateName )
5419+ .metadata (firstUpdateMetadata )
54205420 .build ();
54215421 getAndAssert (experimentId , expectedExperiment , TEST_WORKSPACE , API_KEY );
54225422
5423- // when - Third update: Change only the metadata
5424- var thirdUpdateMetadata = JsonUtils . getJsonNodeFromString ( "{ \" version \" : \" 3.0 \" , \" model \" : \" gpt-4-turbo \" }" );
5423+ // Third update: Change only the metadata with random value
5424+ var thirdUpdateMetadata = podamFactory . manufacturePojo ( JsonNode . class );
54255425 var thirdUpdate = ExperimentUpdate .builder ()
54265426 .metadata (thirdUpdateMetadata )
54275427 .build ();
5428- experimentResourceClient .updateExperiment (experimentId , thirdUpdate , API_KEY , TEST_WORKSPACE ,
5429- HttpStatus .SC_NO_CONTENT );
5428+ experimentResourceClient .updateExperiment (
5429+ experimentId , thirdUpdate , API_KEY , TEST_WORKSPACE , HttpStatus .SC_NO_CONTENT );
54305430
5431- // then - Verify that name from second update is preserved (not from first or original)
5431+ // Verify that name from second update is preserved (not from first or original)
54325432 var finalExpectedExperiment = initialExperiment .toBuilder ()
5433- .name ("Second Update Name" ) // Should have name from second update
5434- .metadata (thirdUpdateMetadata ) // Should have metadata from third update
5433+ .name (secondUpdateName )
5434+ .metadata (thirdUpdateMetadata )
54355435 .build ();
54365436 getAndAssert (experimentId , finalExpectedExperiment , TEST_WORKSPACE , API_KEY );
54375437 }
0 commit comments