55from time import time
66from unittest .mock import patch
77
8+ from openfeature .flag_evaluation import Reason
9+
810from devcycle_python_sdk import DevCycleCloudClient , DevCycleCloudOptions
911from devcycle_python_sdk .models .eval_hook import EvalHook
1012from devcycle_python_sdk .models .user import DevCycleUser
@@ -97,6 +99,8 @@ def test_variable_exceptions(self, mock_variable_call):
9799 self .assertIsNotNone (result )
98100 self .assertEqual (result .value , "default_value" )
99101 self .assertTrue (result .isDefaulted )
102+ self .assertEqual (result .eval .reason , "DEFAULT" )
103+ self .assertEqual (result .eval .details , "Missing Variable" )
100104
101105 # other exception - return default
102106 mock_variable_call .reset_mock ()
@@ -105,6 +109,8 @@ def test_variable_exceptions(self, mock_variable_call):
105109 self .assertIsNotNone (result )
106110 self .assertEqual (result .value , "default_value" )
107111 self .assertTrue (result .isDefaulted )
112+ self .assertEqual (result .eval .reason , "DEFAULT" )
113+ self .assertEqual (result .eval .details , "Error" )
108114
109115 @patch ("devcycle_python_sdk.api.bucketing_client.BucketingAPIClient.variable" )
110116 def test_variable_type_mismatch (self , mock_variable_call ):
@@ -116,6 +122,8 @@ def test_variable_type_mismatch(self, mock_variable_call):
116122 self .assertIsNotNone (result )
117123 self .assertEqual (result .value , "default_value" )
118124 self .assertTrue (result .isDefaulted )
125+ self .assertEqual (result .eval .reason , "DEFAULT" )
126+ self .assertEqual (result .eval .details , "Variable Type Mismatch" )
119127
120128 @patch ("devcycle_python_sdk.api.bucketing_client.BucketingAPIClient.variable" )
121129 def test_variable_value_defaults (self , mock_variable_call ):
0 commit comments