1+ import pytest
12from numbers import Number
23
3- from openfeature .exception import ErrorCode
4+ from openfeature .exception import FlagNotFoundError
45from openfeature .flag_evaluation import FlagResolutionDetails , Reason
56from openfeature .provider .in_memory_provider import InMemoryFlag , InMemoryProvider
67
@@ -19,14 +20,9 @@ def test_should_handle_unknown_flags_correctly():
1920 # Given
2021 provider = InMemoryProvider ({})
2122 # When
22- flag = provider .resolve_boolean_details (flag_key = "Key" , default_value = True )
23+ with pytest .raises (FlagNotFoundError ):
24+ provider .resolve_boolean_details (flag_key = "Key" , default_value = True )
2325 # Then
24- assert flag is not None
25- assert flag .value is True
26- assert isinstance (flag .value , bool )
27- assert flag .reason == Reason .ERROR
28- assert flag .error_code == ErrorCode .FLAG_NOT_FOUND
29- assert flag .error_message == "Flag 'Key' not found"
3026
3127
3228def test_calls_context_evaluator_if_present ():
@@ -40,7 +36,6 @@ def context_evaluator(flag: InMemoryFlag, evaluation_context: dict):
4036 provider = InMemoryProvider (
4137 {
4238 "Key" : InMemoryFlag (
43- "Key" ,
4439 "true" ,
4540 {"true" : True , "false" : False },
4641 context_evaluator = context_evaluator ,
@@ -59,7 +54,7 @@ def context_evaluator(flag: InMemoryFlag, evaluation_context: dict):
5954def test_should_resolve_boolean_flag_from_in_memory ():
6055 # Given
6156 provider = InMemoryProvider (
62- {"Key" : InMemoryFlag ("Key" , " true" , {"true" : True , "false" : False })}
57+ {"Key" : InMemoryFlag ("true" , {"true" : True , "false" : False })}
6358 )
6459 # When
6560 flag = provider .resolve_boolean_details (flag_key = "Key" , default_value = False )
@@ -73,7 +68,7 @@ def test_should_resolve_boolean_flag_from_in_memory():
7368def test_should_resolve_integer_flag_from_in_memory ():
7469 # Given
7570 provider = InMemoryProvider (
76- {"Key" : InMemoryFlag ("Key" , " hundred" , {"zero" : 0 , "hundred" : 100 })}
71+ {"Key" : InMemoryFlag ("hundred" , {"zero" : 0 , "hundred" : 100 })}
7772 )
7873 # When
7974 flag = provider .resolve_integer_details (flag_key = "Key" , default_value = 0 )
@@ -87,7 +82,7 @@ def test_should_resolve_integer_flag_from_in_memory():
8782def test_should_resolve_float_flag_from_in_memory ():
8883 # Given
8984 provider = InMemoryProvider (
90- {"Key" : InMemoryFlag ("Key" , " ten" , {"zero" : 0.0 , "ten" : 10.23 })}
85+ {"Key" : InMemoryFlag ("ten" , {"zero" : 0.0 , "ten" : 10.23 })}
9186 )
9287 # When
9388 flag = provider .resolve_float_details (flag_key = "Key" , default_value = 0.0 )
@@ -103,7 +98,6 @@ def test_should_resolve_string_flag_from_in_memory():
10398 provider = InMemoryProvider (
10499 {
105100 "Key" : InMemoryFlag (
106- "Key" ,
107101 "stringVariant" ,
108102 {"defaultVariant" : "Default" , "stringVariant" : "String" },
109103 )
@@ -121,11 +115,7 @@ def test_should_resolve_string_flag_from_in_memory():
121115def test_should_resolve_list_flag_from_in_memory ():
122116 # Given
123117 provider = InMemoryProvider (
124- {
125- "Key" : InMemoryFlag (
126- "Key" , "twoItems" , {"empty" : [], "twoItems" : ["item1" , "item2" ]}
127- )
128- }
118+ {"Key" : InMemoryFlag ("twoItems" , {"empty" : [], "twoItems" : ["item1" , "item2" ]})}
129119 )
130120 # When
131121 flag = provider .resolve_object_details (flag_key = "Key" , default_value = [])
@@ -144,7 +134,7 @@ def test_should_resolve_object_flag_from_in_memory():
144134 "Boolean" : True ,
145135 }
146136 provider = InMemoryProvider (
147- {"Key" : InMemoryFlag ("Key" , " obj" , {"obj" : return_value , "empty" : {}})}
137+ {"Key" : InMemoryFlag ("obj" , {"obj" : return_value , "empty" : {}})}
148138 )
149139 # When
150140 flag = provider .resolve_object_details (flag_key = "Key" , default_value = {})
0 commit comments