22
33from flag_engine .context .types import EvaluationContext , IdentityContext , SegmentContext
44from flag_engine .engine import get_evaluation_result
5+ from flag_engine .result .types import EvaluationResult
56
67
78def test_get_evaluation_result__no_overrides__returns_expected (
@@ -11,26 +12,25 @@ def test_get_evaluation_result__no_overrides__returns_expected(
1112 result = get_evaluation_result (context )
1213
1314 # Then
14- assert result == {
15- "context" : context ,
16- "flags" : [
17- {
15+ assert result == EvaluationResult (
16+ flags = {
17+ "feature_1" : {
1818 "enabled" : True ,
1919 "feature_key" : "1" ,
2020 "name" : "feature_1" ,
2121 "reason" : "DEFAULT" ,
2222 "value" : None ,
2323 },
24- {
24+ "feature_2" : {
2525 "enabled" : False ,
2626 "feature_key" : "2" ,
2727 "name" : "feature_2" ,
2828 "reason" : "DEFAULT" ,
2929 "value" : None ,
3030 },
31- ] ,
32- " segments" : [],
33- }
31+ } ,
32+ segments = [],
33+ )
3434
3535
3636def test_get_evaluation_result__segment_override__returns_expected (
@@ -41,23 +41,22 @@ def test_get_evaluation_result__segment_override__returns_expected(
4141
4242 # Then
4343 assert result == {
44- "context" : context_in_segment ,
45- "flags" : [
46- {
44+ "flags" : {
45+ "feature_1" : {
4746 "enabled" : False ,
4847 "feature_key" : "1" ,
4948 "name" : "feature_1" ,
5049 "reason" : "TARGETING_MATCH; segment=my_segment" ,
5150 "value" : "segment_override" ,
5251 },
53- {
52+ "feature_2" : {
5453 "enabled" : False ,
5554 "feature_key" : "2" ,
5655 "name" : "feature_2" ,
5756 "reason" : "DEFAULT" ,
5857 "value" : None ,
5958 },
60- ] ,
59+ } ,
6160 "segments" : [{"key" : "1" , "name" : "my_segment" }],
6261 }
6362
@@ -99,23 +98,22 @@ def test_get_evaluation_result__identity_override__returns_expected(
9998
10099 # Then
101100 assert result == {
102- "context" : context ,
103- "flags" : [
104- {
101+ "flags" : {
102+ "feature_1" : {
105103 "enabled" : True ,
106104 "feature_key" : "1" ,
107105 "name" : "feature_1" ,
108106 "reason" : "TARGETING_MATCH; segment=identity_overrides" ,
109107 "value" : "overridden_for_identity" ,
110108 },
111- {
109+ "feature_2" : {
112110 "enabled" : False ,
113111 "feature_key" : "2" ,
114112 "name" : "feature_2" ,
115113 "reason" : "DEFAULT" ,
116114 "value" : None ,
117115 },
118- ] ,
116+ } ,
119117 "segments" : [
120118 {
121119 "key" : "" ,
@@ -207,23 +205,22 @@ def test_get_evaluation_result__two_segments_override_same_feature__returns_expe
207205
208206 # Then
209207 assert result == {
210- "context" : context_in_segments ,
211- "flags" : [
212- {
208+ "flags" : {
209+ "feature_1" : {
213210 "enabled" : True ,
214211 "feature_key" : "1" ,
215212 "name" : "feature_1" ,
216213 "reason" : "TARGETING_MATCH; segment=higher_priority_segment" ,
217214 "value" : "segment_override_other" ,
218215 },
219- {
216+ "feature_2" : {
220217 "enabled" : False ,
221218 "feature_key" : "2" ,
222219 "name" : "feature_2" ,
223220 "reason" : "DEFAULT" ,
224221 "value" : None ,
225222 },
226- ] ,
223+ } ,
227224 "segments" : [
228225 {"key" : "1" , "name" : "my_segment" },
229226 {"key" : "3" , "name" : "higher_priority_segment" },
@@ -338,23 +335,22 @@ def test_get_evaluation_result__segment_override__no_priority__returns_expected(
338335
339336 # Then
340337 assert result == {
341- "context" : context ,
342- "flags" : [
343- {
338+ "flags" : {
339+ "feature_1" : {
344340 "enabled" : True ,
345341 "feature_key" : "1" ,
346342 "name" : "feature_1" ,
347343 "reason" : "TARGETING_MATCH; segment=segment_with_override_priority" ,
348344 "value" : "overridden_with_priority" ,
349345 },
350- {
346+ "feature_2" : {
351347 "enabled" : False ,
352348 "feature_key" : "2" ,
353349 "name" : "feature_2" ,
354350 "reason" : "TARGETING_MATCH; segment=another_segment" ,
355351 "value" : "moose" ,
356352 },
357- ] ,
353+ } ,
358354 "segments" : [
359355 {"key" : "1" , "name" : "segment_without_override_priority" },
360356 {"key" : "2" , "name" : "segment_with_override_priority" },
0 commit comments