From 42166653c419df0b77ff31c71b80a69ffc6d749f Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Wed, 3 Jul 2024 21:32:08 +0200 Subject: [PATCH] chore(python-provider): add test without errorCode in response Signed-off-by: Thomas Poignant --- .../bool_targeting_match_no_error_field.json | 10 ++++++++++ .../test_gofeatureflag_python_provider.py | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 openfeature/providers/python-provider/tests/mock_responses/bool_targeting_match_no_error_field.json diff --git a/openfeature/providers/python-provider/tests/mock_responses/bool_targeting_match_no_error_field.json b/openfeature/providers/python-provider/tests/mock_responses/bool_targeting_match_no_error_field.json new file mode 100644 index 00000000000..0ffb05f1e70 --- /dev/null +++ b/openfeature/providers/python-provider/tests/mock_responses/bool_targeting_match_no_error_field.json @@ -0,0 +1,10 @@ +{ + "trackEvents": true, + "variationType": "True", + "failed": false, + "version": "1.0.0", + "reason": "TARGETING_MATCH", + "value": true, + "metadata": {"test": "test1", "test2": false, "test3": 123.3}, + "cacheable": true +} diff --git a/openfeature/providers/python-provider/tests/test_gofeatureflag_python_provider.py b/openfeature/providers/python-provider/tests/test_gofeatureflag_python_provider.py index 94207c22fcd..d756ae77a47 100644 --- a/openfeature/providers/python-provider/tests/test_gofeatureflag_python_provider.py +++ b/openfeature/providers/python-provider/tests/test_gofeatureflag_python_provider.py @@ -207,6 +207,25 @@ def test_should_resolve_a_valid_boolean_flag_with_targeting_match_reason(mock_re assert res == want +@patch("urllib3.poolmanager.PoolManager.request") +def test_should_resolve_a_valid_boolean_flag_with_targeting_match_reason_without_error_code( + mock_request, +): + flag_key = "bool_targeting_match_no_error_field" + default_value = False + res = _generic_test( + mock_request, flag_key, default_value, _default_evaluation_ctx, "bool" + ) + want: FlagEvaluationDetails = FlagEvaluationDetails( + flag_key=flag_key, + value=True, + variant="True", + reason=Reason.TARGETING_MATCH, + flag_metadata={"test": "test1", "test2": False, "test3": 123.3}, + ) + assert res == want + + @patch("urllib3.poolmanager.PoolManager.request") def test_should_return_custom_reason_if_returned_by_relay_proxy(mock_request): flag_key = "unknown_reason"