66import ml .comet .experiment .asset .LoggedExperimentAsset ;
77import ml .comet .experiment .context .ExperimentContext ;
88import ml .comet .experiment .exception .CometGeneralException ;
9+ import ml .comet .experiment .impl .asset .LoggedExperimentAssetImpl ;
910import ml .comet .experiment .model .ExperimentMetadata ;
1011import ml .comet .experiment .model .GitMetaData ;
1112import ml .comet .experiment .model .Value ;
2526
2627import static ml .comet .experiment .impl .ExperimentTestFactory .API_KEY ;
2728import static ml .comet .experiment .impl .ExperimentTestFactory .createOnlineExperiment ;
29+ import static ml .comet .experiment .impl .TestUtils .SOME_CONTEXT_ID ;
2830import static ml .comet .experiment .impl .TestUtils .SOME_FULL_CONTEXT ;
31+ import static ml .comet .experiment .impl .TestUtils .SOME_METADATA ;
2932import static ml .comet .experiment .impl .TestUtils .awaitForCondition ;
3033import static ml .comet .experiment .impl .asset .AssetType .SOURCE_CODE ;
34+ import static ml .comet .experiment .impl .asset .AssetType .TEXT_SAMPLE ;
3135import static ml .comet .experiment .impl .resources .LogMessages .FAILED_REGISTER_EXPERIMENT ;
3236import static ml .comet .experiment .impl .resources .LogMessages .getString ;
3337import static ml .comet .experiment .impl .utils .CometUtils .fullMetricName ;
@@ -525,7 +529,7 @@ public void testLogAndGetRawCode() {
525529 experiment .logCode (SOME_TEXT , CODE_FILE_NAME , SOME_FULL_CONTEXT );
526530
527531 awaitForCondition (() -> !experiment .getAssetList (SOURCE_CODE .type ()).isEmpty (),
528- "Experiment raw code added" );
532+ "Experiment raw code not added" );
529533 List <LoggedExperimentAsset > assets = experiment .getAssetList (SOURCE_CODE .type ());
530534 validateAsset (assets , CODE_FILE_NAME , SOME_TEXT_FILE_SIZE , SOME_FULL_CONTEXT );
531535
@@ -534,6 +538,62 @@ public void testLogAndGetRawCode() {
534538 }
535539 }
536540
541+ @ Test
542+ public void testLogAndGetText_contextOverride () throws Exception {
543+ try (OnlineExperimentImpl experiment = (OnlineExperimentImpl ) createOnlineExperiment ()) {
544+ // check that no text was logged
545+ //
546+ assertTrue (experiment .getAllAssetList ().isEmpty ());
547+
548+ // log text with context set
549+ //
550+ experiment .logText (SOME_TEXT , SOME_FULL_CONTEXT , SOME_METADATA );
551+
552+ awaitForCondition (() -> !experiment .getAssetList (TEXT_SAMPLE .type ()).isEmpty (),
553+ "Experiment text not added" );
554+
555+ List <LoggedExperimentAsset > assets = experiment .getAssetList (TEXT_SAMPLE .type ());
556+ assertEquals (1 , assets .size (), "wrong number of assets returned" );
557+
558+ LoggedExperimentAsset asset = assets .get (0 );
559+ assertEquals (TEXT_SAMPLE .type (), asset .getType (), "wrong asset type" );
560+ ExperimentContext assetContext = ((LoggedExperimentAssetImpl ) asset ).getContext ();
561+ assertEquals (SOME_FULL_CONTEXT .getStep (), assetContext .getStep (), "wrong asset's context step" );
562+ assertEquals (SOME_FULL_CONTEXT .getContext (), assetContext .getContext (), "wrong asset's context ID" );
563+ assertEquals (SOME_METADATA , asset .getMetadata (), "wrong metadata" );
564+ assertEquals (SOME_TEXT .length (), asset .getSize ().orElse (0L ), "wrong asset size" );
565+ }
566+ }
567+
568+ @ Test
569+ public void testLogAndGetText () throws Exception {
570+ try (OnlineExperimentImpl experiment = (OnlineExperimentImpl ) createOnlineExperiment ()) {
571+ // check that no text was logged
572+ //
573+ assertTrue (experiment .getAllAssetList ().isEmpty ());
574+
575+ // log text with context set tto experiment
576+ //
577+ int expectedStep = 102 ;
578+ experiment .setStep (expectedStep );
579+ experiment .setContext (SOME_CONTEXT_ID );
580+ experiment .logText (SOME_TEXT );
581+
582+ awaitForCondition (() -> !experiment .getAssetList (TEXT_SAMPLE .type ()).isEmpty (),
583+ "Experiment text not added" );
584+
585+ List <LoggedExperimentAsset > assets = experiment .getAssetList (TEXT_SAMPLE .type ());
586+ assertEquals (1 , assets .size (), "wrong number of assets returned" );
587+
588+ LoggedExperimentAsset asset = assets .get (0 );
589+ assertEquals (TEXT_SAMPLE .type (), asset .getType (), "wrong asset type" );
590+ ExperimentContext assetContext = ((LoggedExperimentAssetImpl ) asset ).getContext ();
591+ assertEquals (expectedStep , assetContext .getStep (), "wrong asset's context step" );
592+ assertEquals (SOME_CONTEXT_ID , assetContext .getContext (), "wrong asset's context ID" );
593+ assertEquals (SOME_TEXT .length (), asset .getSize ().orElse (0L ), "wrong asset size" );
594+ }
595+ }
596+
537597 @ Test
538598 @ Timeout (60 )
539599 public void testCreateExperiment_wrongApiKey () {
0 commit comments