22
33import ml .comet .experiment .ApiExperiment ;
44import ml .comet .experiment .OnlineExperiment ;
5+ import ml .comet .experiment .asset .LoggedExperimentAsset ;
6+ import ml .comet .experiment .context .ExperimentContext ;
57import ml .comet .experiment .exception .CometGeneralException ;
8+ import ml .comet .experiment .impl .asset .LoggedExperimentAssetImpl ;
9+ import org .apache .commons .lang3 .StringUtils ;
610import org .junit .jupiter .api .DisplayName ;
711import org .junit .jupiter .api .Tag ;
812import org .junit .jupiter .api .Test ;
913
14+ import java .util .HashMap ;
15+ import java .util .List ;
16+ import java .util .Map ;
17+
1018import static ml .comet .experiment .impl .ExperimentTestFactory .API_KEY ;
1119import static ml .comet .experiment .impl .ExperimentTestFactory .PROJECT_NAME ;
1220import static ml .comet .experiment .impl .ExperimentTestFactory .WORKSPACE_NAME ;
21+ import static ml .comet .experiment .impl .ExperimentTestFactory .createApiExperiment ;
1322import static ml .comet .experiment .impl .ExperimentTestFactory .createOnlineExperiment ;
23+ import static ml .comet .experiment .impl .asset .AssetType .TEXT_SAMPLE ;
1424import static org .junit .jupiter .api .Assertions .assertEquals ;
1525import static org .junit .jupiter .api .Assertions .assertThrows ;
26+ import static org .junit .jupiter .api .Assertions .assertTrue ;
1627
1728/**
1829 * The integration tests to test {@link ApiExperiment} implementation by sending/retrieving data from the backend.
1930 */
2031@ DisplayName ("ApiExperimentTest INTEGRATION" )
2132@ Tag ("integration" )
2233public class ApiExperimentTest {
34+ static Map <String , Object > SOME_METADATA = new HashMap <String , Object >() {{
35+ put ("someString" , "string" );
36+ put ("someInt" , 10 );
37+ }};
38+ static String SOME_TEXT = "this is some text to be used" ;
2339
2440 @ Test
2541 public void testApiExperimentInitializedWithInvalidValues () {
@@ -44,4 +60,46 @@ public void testApiExperimentInitialized() throws Exception {
4460 assertEquals (PROJECT_NAME , apiExperiment .getProjectName ());
4561 }
4662 }
63+
64+ @ Test
65+ public void testLogTextFull () throws Exception {
66+ try (ApiExperiment apiExperiment = createApiExperiment ()) {
67+ ExperimentContext ctx = ExperimentContext .builder ()
68+ .withStep (100 )
69+ .withContext ("train" )
70+ .build ();
71+
72+ apiExperiment .logText (SOME_TEXT , ctx , SOME_METADATA );
73+
74+ // check that TEXT asset was saved as expected
75+ List <LoggedExperimentAsset > assets = apiExperiment .getAssetList (TEXT_SAMPLE .type ());
76+ assertEquals (1 , assets .size (), "wrong number of assets returned" );
77+ LoggedExperimentAsset asset = assets .get (0 );
78+ assertEquals (TEXT_SAMPLE .type (), asset .getType (), "wrong asset type" );
79+ ExperimentContext assetContext = ((LoggedExperimentAssetImpl ) asset ).getContext ();
80+ assertEquals (ctx .getStep (), assetContext .getStep (), "wrong asset's context step" );
81+ assertEquals (ctx .getContext (), assetContext .getContext (), "wrong asset's context ID" );
82+ assertEquals (SOME_METADATA , asset .getMetadata (), "wrong metadata:" );
83+ assertEquals (SOME_TEXT .length (), asset .getSize ().orElse (0L ), "wrong asset size" );
84+ }
85+ }
86+
87+ @ Test
88+ public void testLogTextShort () throws Exception {
89+ try (ApiExperiment apiExperiment = createApiExperiment ()) {
90+ apiExperiment .logText (SOME_TEXT );
91+
92+ // check that TEXT asset was saved as expected
93+ List <LoggedExperimentAsset > assets = apiExperiment .getAssetList (TEXT_SAMPLE .type ());
94+ assertEquals (1 , assets .size (), "wrong number of assets returned" );
95+
96+ LoggedExperimentAsset asset = assets .get (0 );
97+ assertEquals (TEXT_SAMPLE .type (), asset .getType (), "wrong asset type" );
98+ assertEquals (SOME_TEXT .length (), asset .getSize ().orElse (0L ), "wrong asset size" );
99+ assertEquals (0 , asset .getMetadata ().size (), "no metadata expected" );
100+ ExperimentContext assetContext = ((LoggedExperimentAssetImpl ) asset ).getContext ();
101+ assertEquals (0 , assetContext .getStep (), "no context step expected" );
102+ assertTrue (StringUtils .isBlank (assetContext .getContext ()), "no context ID expected" );
103+ }
104+ }
47105}
0 commit comments