3737import com .devcycle .sdk .server .local .model .ConfigMetadata ;
3838import com .devcycle .sdk .server .local .model .DevCycleLocalOptions ;
3939import com .devcycle .sdk .server .local .model .Environment ;
40+ import com .devcycle .sdk .server .local .model .EnvironmentMetadata ;
4041import com .devcycle .sdk .server .local .model .Project ;
42+ import com .devcycle .sdk .server .local .model .ProjectMetadata ;
4143
4244@ RunWith (MockitoJUnitRunner .class )
4345public class DevCycleLocalClientTest {
@@ -1035,14 +1037,9 @@ public void after(HookContext<String> ctx, Variable<String> variable) {
10351037
10361038 // Check that config metadata has the expected structure
10371039 ConfigMetadata metadata = ctx .getMetadata ();
1038- Assert .assertNotNull ("Config ETag should not be null" , metadata .configETag );
1039- Assert .assertNotNull ("Config last modified should not be null" , metadata .configLastModified );
10401040 Assert .assertNotNull ("Project metadata should not be null" , metadata .project );
10411041 Assert .assertNotNull ("Environment metadata should not be null" , metadata .environment );
10421042
1043- // Verify basic metadata structure is present
1044- Assert .assertFalse ("Config ETag should not be empty" , metadata .configETag .isEmpty ());
1045- Assert .assertFalse ("Config last modified should not be empty" , metadata .configLastModified .isEmpty ());
10461043
10471044 metadataChecked [0 ] = true ;
10481045 }
@@ -1089,11 +1086,9 @@ public void onFinally(HookContext<String> ctx, Optional<Variable<String>> variab
10891086
10901087 // Verify metadata is consistent across all hook stages
10911088 Assert .assertEquals ("Before and after metadata should be the same" ,
1092- capturedMetadata [0 ]. configETag , capturedMetadata [1 ]. configETag );
1089+ capturedMetadata [0 ], capturedMetadata [1 ]);
10931090 Assert .assertEquals ("Before and finally metadata should be the same" ,
1094- capturedMetadata [0 ].configETag , capturedMetadata [2 ].configETag );
1095- Assert .assertEquals ("Metadata timestamps should be consistent" ,
1096- capturedMetadata [0 ].configLastModified , capturedMetadata [1 ].configLastModified );
1091+ capturedMetadata [0 ], capturedMetadata [2 ]);
10971092 }
10981093
10991094 @ Test
@@ -1115,8 +1110,6 @@ public void error(HookContext<String> ctx, Throwable error) {
11151110 // Verify metadata is accessible even in error hook
11161111 Assert .assertNotNull ("Metadata should be accessible in error hook" , ctx .getMetadata ());
11171112 ConfigMetadata metadata = ctx .getMetadata ();
1118- Assert .assertNotNull ("Config ETag should not be null in error hook" , metadata .configETag );
1119- Assert .assertNotNull ("Config last modified should not be null in error hook" , metadata .configLastModified );
11201113 Assert .assertNotNull ("Project metadata should not be null in error hook" , metadata .project );
11211114 Assert .assertNotNull ("Environment metadata should not be null in error hook" , metadata .environment );
11221115 metadataCheckedInError [0 ] = true ;
@@ -1152,15 +1145,10 @@ public void after(HookContext<String> ctx, Variable<String> variable) {
11521145 ConfigMetadata directMetadata = client .getMetadata ();
11531146 Assert .assertNotNull ("Direct metadata should not be null" , directMetadata );
11541147
1155- // The metadata in hooks should match the current client metadata
1156- Assert .assertEquals ("Hook metadata ETag should match current metadata" ,
1157- directMetadata .configETag , capturedMetadata [0 ].configETag );
1158- Assert .assertEquals ("Hook metadata timestamp should match current metadata" ,
1159- directMetadata .configLastModified , capturedMetadata [0 ].configLastModified );
11601148 Assert .assertEquals ("Hook metadata project should match current metadata" ,
1161- directMetadata .project , capturedMetadata [0 ].project );
1149+ directMetadata .project . id , capturedMetadata [0 ].project . id );
11621150 Assert .assertEquals ("Hook metadata environment should match current metadata" ,
1163- directMetadata .environment , capturedMetadata [0 ].environment );
1151+ directMetadata .environment . id , capturedMetadata [0 ].environment . id );
11641152 }
11651153
11661154 @ Test
@@ -1177,7 +1165,6 @@ public void variable_withMultipleHooks_allReceiveMetadata() throws DevCycleExcep
11771165 public void after (HookContext <String > ctx , Variable <String > variable ) {
11781166 Assert .assertNotNull ("First hook should receive metadata" , ctx .getMetadata ());
11791167 Assert .assertNotNull ("First hook metadata should have project" , ctx .getMetadata ().project );
1180- Assert .assertNotNull ("First hook metadata should have config ETag" , ctx .getMetadata ().configETag );
11811168 metadataChecked [0 ] = true ;
11821169 }
11831170 });
@@ -1188,7 +1175,6 @@ public void after(HookContext<String> ctx, Variable<String> variable) {
11881175 public void after (HookContext <String > ctx , Variable <String > variable ) {
11891176 Assert .assertNotNull ("Second hook should receive metadata" , ctx .getMetadata ());
11901177 Assert .assertNotNull ("Second hook metadata should have environment" , ctx .getMetadata ().environment );
1191- Assert .assertNotNull ("Second hook metadata should have last modified" , ctx .getMetadata ().configLastModified );
11921178 metadataChecked [1 ] = true ;
11931179 }
11941180 });
@@ -1212,16 +1198,12 @@ public void configMetadata_canBeConstructedWithMockData() {
12121198
12131199 // Test ConfigMetadata construction
12141200 ConfigMetadata metadata = new ConfigMetadata (
1215- "test-etag-12345" ,
1216- "2023-10-01T12:00:00Z" ,
1217- mockProject ,
1218- mockEnvironment
1201+ new ProjectMetadata (mockProject ._id , mockProject .key ),
1202+ new EnvironmentMetadata (mockEnvironment ._id , mockEnvironment .key )
12191203 );
12201204
12211205 // Verify metadata is properly constructed
12221206 Assert .assertNotNull ("Metadata should not be null" , metadata );
1223- Assert .assertEquals ("Config ETag should match" , "test-etag-12345" , metadata .configETag );
1224- Assert .assertEquals ("Config last modified should match" , "2023-10-01T12:00:00Z" , metadata .configLastModified );
12251207 Assert .assertNotNull ("Project metadata should not be null" , metadata .project );
12261208 Assert .assertNotNull ("Environment metadata should not be null" , metadata .environment );
12271209
@@ -1231,6 +1213,5 @@ public void configMetadata_canBeConstructedWithMockData() {
12311213
12321214 Assert .assertNotNull ("HookContext should not be null" , contextWithMetadata );
12331215 Assert .assertEquals ("Metadata should be accessible from context" , metadata , contextWithMetadata .getMetadata ());
1234- Assert .assertEquals ("Config ETag should be accessible" , "test-etag-12345" , contextWithMetadata .getMetadata ().configETag );
12351216 }
12361217}
0 commit comments