python-sdk/tests/test_flag_evaluation.py

57 lines
1.4 KiB
Python

from openfeature.exception import ErrorCode
from openfeature.flag_evaluation import FlagEvaluationDetails, Reason
def test_evaluation_details_reason_should_be_a_string():
# Given
flag_key = "my-flag"
flag_value = 100
variant = "1-hundred"
flag_metadata = {}
reason = Reason.DEFAULT
error_code = ErrorCode.GENERAL
error_message = "message"
# When
flag_details = FlagEvaluationDetails(
flag_key,
flag_value,
variant,
flag_metadata,
reason,
error_code,
error_message,
)
# Then
assert flag_key == flag_details.flag_key
assert flag_value == flag_details.value
assert variant == flag_details.variant
assert error_code == flag_details.error_code
assert error_message == flag_details.error_message
assert reason == flag_details.reason
def test_evaluation_details_reason_should_be_a_string_when_set():
# Given
flag_key = "my-flag"
flag_value = 100
variant = "1-hundred"
reason = Reason.DEFAULT
error_code = ErrorCode.GENERAL
error_message = "message"
# When
flag_details = FlagEvaluationDetails(
flag_key,
flag_value,
variant,
reason,
error_code,
error_message,
)
flag_details.reason = Reason.STATIC
# Then
assert Reason.STATIC == flag_details.reason # noqa: SIM300