Skip to content

Commit ab582aa

Browse files
committed
add some tests
1 parent fd37a0a commit ab582aa

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

test/test_cloud_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from time import time
66
from unittest.mock import patch
77

8+
from openfeature.flag_evaluation import Reason
9+
810
from devcycle_python_sdk import DevCycleCloudClient, DevCycleCloudOptions
911
from devcycle_python_sdk.models.eval_hook import EvalHook
1012
from 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):

test/test_local_client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ def test_variable_default(self):
209209
self.assertEqual(result.defaultValue, test_value)
210210
self.assertEqual(result.value, test_value)
211211
self.assertEqual(result.type, value_type)
212+
self.assertEqual(result.eval.reason, "DEFAULT")
213+
self.assertEqual(result.eval.details, "User Not Targeted")
212214

213215
@responses.activate
214216
def test_variable_with_bucketing(self):
@@ -242,6 +244,9 @@ def test_variable_with_bucketing(self):
242244
self.assertDictEqual(result.value, expected, msg="Test key: " + key)
243245
else:
244246
self.assertEqual(result.value, expected, msg="Test key: " + key)
247+
self.assertEqual(result.eval.reason, "TARGETING_MATCH")
248+
self.assertEqual(result.eval.details, "All Users")
249+
self.assertEqual(result.eval.target_id, "63125321d31c601f992288bc")
245250

246251
@responses.activate
247252
def test_variable_with_events(self):

0 commit comments

Comments
 (0)