30
30
import io .grpc .Deadline ;
31
31
import org .junit .jupiter .api .BeforeAll ;
32
32
import org .junit .jupiter .api .Test ;
33
+ import org .mockito .ArgumentMatcher ;
33
34
import org .mockito .MockedStatic ;
34
35
35
36
import java .lang .reflect .Field ;
@@ -303,7 +304,6 @@ void resolvers_should_not_cache_responses_if_event_stream_not_alive() {
303
304
304
305
@ Test
305
306
void context_is_parsed_and_passed_to_grpc_service () {
306
-
307
307
final String BOOLEAN_ATTR_KEY = "bool-attr" ;
308
308
final String INT_ATTR_KEY = "int-attr" ;
309
309
final String STRING_ATTR_KEY = "string-attr" ;
@@ -313,9 +313,9 @@ void context_is_parsed_and_passed_to_grpc_service() {
313
313
final String STRUCT_ATTR_INNER_KEY = "struct-inner-key" ;
314
314
315
315
final Boolean BOOLEAN_ATTR_VALUE = true ;
316
- final Integer INT_ATTR_VALUE = 1 ;
316
+ final int INT_ATTR_VALUE = 1 ;
317
317
final String STRING_ATTR_VALUE = "str" ;
318
- final Double DOUBLE_ATTR_VALUE = 0.5d ;
318
+ final double DOUBLE_ATTR_VALUE = 0.5d ;
319
319
final List <Value > LIST_ATTR_VALUE = new ArrayList <Value >() {
320
320
{
321
321
add (new Value (1 ));
@@ -335,23 +335,30 @@ void context_is_parsed_and_passed_to_grpc_service() {
335
335
when (serviceBlockingStubMock .withDeadlineAfter (anyLong (), any (TimeUnit .class )))
336
336
.thenReturn (serviceBlockingStubMock );
337
337
when (serviceBlockingStubMock .resolveBoolean (argThat (
338
- x -> STRING_ATTR_VALUE .equals (x .getContext ().getFieldsMap ().get (STRING_ATTR_KEY ).getStringValue ())
339
- && INT_ATTR_VALUE == x .getContext ().getFieldsMap ().get (INT_ATTR_KEY ).getNumberValue ()
340
- && DOUBLE_ATTR_VALUE == x .getContext ().getFieldsMap ().get (DOUBLE_ATTR_KEY ).getNumberValue ()
341
- && LIST_ATTR_VALUE .get (0 ).asInteger () == x .getContext ().getFieldsMap ()
342
- .get (LIST_ATTR_KEY ).getListValue ().getValuesList ().get (0 ).getNumberValue ()
343
- && x .getContext ().getFieldsMap ().get (BOOLEAN_ATTR_KEY ).getBoolValue ()
344
- && STRUCT_ATTR_INNER_VALUE .equals (x .getContext ().getFieldsMap ()
345
- .get (STRUCT_ATTR_KEY ).getStructValue ().getFieldsMap ().get (STRUCT_ATTR_INNER_KEY )
346
- .getStringValue ()))))
347
- .thenReturn (booleanResponse );
338
+ x -> {
339
+ final Struct struct = x .getContext ();
340
+ final Map <String , com .google .protobuf .Value > valueMap = struct .getFieldsMap ();
341
+
342
+ return STRING_ATTR_VALUE .equals (valueMap .get (STRING_ATTR_KEY ).getStringValue ())
343
+ && INT_ATTR_VALUE == valueMap .get (INT_ATTR_KEY ).getNumberValue ()
344
+ && DOUBLE_ATTR_VALUE == valueMap .get (DOUBLE_ATTR_KEY ).getNumberValue ()
345
+ && valueMap .get (BOOLEAN_ATTR_KEY ).getBoolValue ()
346
+ && "MY_TARGETING_KEY" .equals (valueMap .get ("targetingKey" ).getStringValue ())
347
+ && LIST_ATTR_VALUE .get (0 ).asInteger () ==
348
+ valueMap .get (LIST_ATTR_KEY ).getListValue ().getValuesList ().get (0 ).getNumberValue ()
349
+ && STRUCT_ATTR_INNER_VALUE .equals (
350
+ valueMap .get (STRUCT_ATTR_KEY ).getStructValue ().getFieldsMap ()
351
+ .get (STRUCT_ATTR_INNER_KEY ).getStringValue ());
352
+ }
353
+ ))
354
+ ).thenReturn (booleanResponse );
348
355
349
356
GrpcConnector grpc = mock (GrpcConnector .class );
350
357
when (grpc .getResolver ()).thenReturn (serviceBlockingStubMock );
351
358
352
359
OpenFeatureAPI .getInstance ().setProvider (createProvider (grpc ));
353
360
354
- MutableContext context = new MutableContext ();
361
+ final MutableContext context = new MutableContext ("MY_TARGETING_KEY" );
355
362
context .add (BOOLEAN_ATTR_KEY , BOOLEAN_ATTR_VALUE );
356
363
context .add (INT_ATTR_KEY , INT_ATTR_VALUE );
357
364
context .add (DOUBLE_ATTR_KEY , DOUBLE_ATTR_VALUE );
0 commit comments