File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -278,6 +278,10 @@ def _resolve(
278278 ) -> FlagResolutionDetails :
279279 try :
280280 flag = self ._get_flags (evaluation_context ).get_flag (flag_key )
281+ except FlagsmithFeatureDoesNotExistError as e :
282+ raise FlagNotFoundError (
283+ error_message = "Flag '%s' was not found." % flag_key
284+ ) from e
281285 except FlagsmithClientError as e :
282286 raise FlagsmithProviderError (
283287 error_code = ErrorCode .GENERAL ,
Original file line number Diff line number Diff line change @@ -293,6 +293,25 @@ def test_resolve_string_details_when_flagsmith_error(
293293 )
294294
295295
296+ def test_resolve_string_details_when_feature_does_not_exist (
297+ mock_flagsmith_client : MagicMock ,
298+ ) -> None :
299+ # Given
300+ key = "my_feature"
301+ default_value = "default"
302+
303+ provider = FlagsmithProvider (mock_flagsmith_client )
304+ mock_flagsmith_client .get_environment_flags .return_value = Flags ({})
305+
306+ # When
307+ with pytest .raises (FlagNotFoundError ) as e :
308+ provider .resolve_string_details (key , default_value = default_value )
309+
310+ # Then
311+ assert e .value .error_code == ErrorCode .FLAG_NOT_FOUND
312+ assert e .value .error_message == f"Flag '{ key } ' was not found."
313+
314+
296315def test_identity_flags_are_used_if_targeting_key_provided (
297316 mock_flagsmith_client : MagicMock ,
298317) -> None :
You can’t perform that action at this time.
0 commit comments