@@ -91,9 +91,13 @@ public void celEnvironment_resolvesRequestField() {
9191
9292 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
9393
94- Optional <Object > result = env .find ("request.path " );
94+ Optional <Object > result = env .find ("request" );
9595 assertThat (result .isPresent ()).isTrue ();
96- assertThat (result .get ()).isEqualTo ("/foo" );
96+ assertThat (result .get ()).isInstanceOf (Map .class );
97+
98+ @ SuppressWarnings ("unchecked" )
99+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
100+ assertThat (requestMap .get ("path" )).isEqualTo ("/foo" );
97101 }
98102
99103 @ Test
@@ -201,9 +205,11 @@ public void celEnvironment_method_fallback() {
201205
202206 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
203207
204- Optional <Object > result = env .find ("request.method " );
208+ Optional <Object > result = env .find ("request" );
205209 assertThat (result .isPresent ()).isTrue ();
206- assertThat (result .get ()).isEqualTo ("POST" );
210+ @ SuppressWarnings ("unchecked" )
211+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
212+ assertThat (requestMap .get ("method" )).isEqualTo ("POST" );
207213 }
208214
209215 @ Test
@@ -233,15 +239,15 @@ public void celEnvironment_timeField_supportedButNull() {
233239 MatchContext context = MatchContext .newBuilder ().build ();
234240 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
235241
236- Optional <Object > result = env .find ("request.time" );
237- assertThat (result .isPresent ()).isFalse ();
238-
239- // But it should be present in the map key set
240- Map <?, ?> requestMap = (Map <?, ?>) env .find ("request" ).get ();
242+ Optional <Object > result = env .find ("request" );
243+ assertThat (result .isPresent ()).isTrue ();
244+ @ SuppressWarnings ("unchecked" )
245+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
241246 assertThat (requestMap .containsKey ("time" )).isTrue ();
242247 assertThat (requestMap .get ("time" )).isNull ();
243248 }
244249
250+
245251 @ Test
246252 public void headersWrapper_size () {
247253 Metadata metadata = new Metadata ();
@@ -265,24 +271,32 @@ public void celEnvironment_accessAllFields() {
265271 .setMethod ("GET" )
266272 .build ();
267273
268-
269274 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
270-
271- assertThat (env .find ("request.host" ).get ()).isEqualTo ("host" );
272- assertThat (env .find ("request.id" ).get ()).isEqualTo ("id" );
273- assertThat (env .find ("request.method" ).get ()).isEqualTo ("GET" );
274- assertThat (env .find ("request.scheme" ).get ()).isEqualTo ("" );
275- assertThat (env .find ("request.protocol" ).get ()).isEqualTo ("" );
276- assertThat (env .find ("request.query" ).get ())
277- .isEqualTo ("" );
278- assertThat (env .find ("request.headers" ).get ()).isInstanceOf (HeadersWrapper .class );
275+ Optional <Object > result = env .find ("request" );
276+ assertThat (result .isPresent ()).isTrue ();
277+ @ SuppressWarnings ("unchecked" )
278+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
279+
280+ assertThat (requestMap .get ("host" )).isEqualTo ("host" );
281+ assertThat (requestMap .get ("id" )).isEqualTo ("id" );
282+ assertThat (requestMap .get ("method" )).isEqualTo ("GET" );
283+ assertThat (requestMap .get ("scheme" )).isEqualTo ("" );
284+ assertThat (requestMap .get ("protocol" )).isEqualTo ("" );
285+ assertThat (requestMap .get ("query" )).isEqualTo ("" );
286+ assertThat (requestMap .get ("headers" )).isInstanceOf (HeadersWrapper .class );
279287 }
280288
281289 @ Test
282290 public void celEnvironment_find_unknownField () {
283291 MatchContext context = MatchContext .newBuilder ().build ();
284292 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
285- assertThat (env .find ("request.unknown" ).isPresent ()).isFalse ();
293+
294+ Optional <Object > result = env .find ("request" );
295+ assertThat (result .isPresent ()).isTrue ();
296+ @ SuppressWarnings ("unchecked" )
297+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
298+ assertThat (requestMap .get ("unknown" )).isNull ();
299+
286300 assertThat (env .find ("other" ).isPresent ()).isFalse ();
287301 }
288302
@@ -426,8 +440,12 @@ public void celEnvironment_resolvesRefererAndUserAgent() {
426440 .build ();
427441 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
428442
429- assertThat (env .find ("request.referer" ).get ()).isEqualTo ("http://example.com" );
430- assertThat (env .find ("request.useragent" ).get ()).isEqualTo ("grpc-test" );
443+ Optional <Object > result = env .find ("request" );
444+ assertThat (result .isPresent ()).isTrue ();
445+ @ SuppressWarnings ("unchecked" )
446+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
447+ assertThat (requestMap .get ("referer" )).isEqualTo ("http://example.com" );
448+ assertThat (requestMap .get ("useragent" )).isEqualTo ("grpc-test" );
431449 }
432450
433451 @ Test
@@ -441,8 +459,11 @@ public void celEnvironment_joinsMultipleHeaderValues() {
441459 .build ();
442460 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
443461
444- // Tests the String.join logic in getHeader
445- assertThat (env .find ("request.referer" ).get ()).isEqualTo ("v1,v2" );
462+ Optional <Object > result = env .find ("request" );
463+ assertThat (result .isPresent ()).isTrue ();
464+ @ SuppressWarnings ("unchecked" )
465+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
466+ assertThat (requestMap .get ("referer" )).isEqualTo ("v1,v2" );
446467 }
447468
448469 @ Test
@@ -451,7 +472,12 @@ public void celEnvironment_find_invalidFormat() {
451472 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
452473
453474 assertThat (env .find ("other.path" ).isPresent ()).isFalse ();
454- assertThat (env .find ("request.a.b" ).isPresent ()).isFalse ();
475+
476+ Optional <Object > result = env .find ("request" );
477+ assertThat (result .isPresent ()).isTrue ();
478+ @ SuppressWarnings ("unchecked" )
479+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
480+ assertThat (requestMap .get ("a" )).isNull ();
455481 }
456482
457483 @ Test
@@ -469,7 +495,11 @@ public void celEnvironment_missingHeader_returnsEmptyString() {
469495 MatchContext context = MatchContext .newBuilder ().build ();
470496 GrpcCelEnvironment env = new GrpcCelEnvironment (context );
471497
472- assertThat (env .find ("request.referer" ).get ()).isEqualTo ("" );
498+ Optional <Object > result = env .find ("request" );
499+ assertThat (result .isPresent ()).isTrue ();
500+ @ SuppressWarnings ("unchecked" )
501+ Map <String , Object > requestMap = (Map <String , Object >) result .get ();
502+ assertThat (requestMap .get ("referer" )).isEqualTo ("" );
473503 }
474504
475505
0 commit comments