@@ -34,23 +34,46 @@ def test_does_user_meet_audience_conditions__no_audience(self):
3434 experiment .audienceIds = []
3535 experiment .audienceConditions = []
3636 self .assertStrictTrue (
37- audience .does_user_meet_audience_conditions (self .project_config , experiment , user_attributes , self .mock_client_logger ,)
37+ audience .does_user_meet_audience_conditions (
38+ self .project_config ,
39+ experiment .get_audience_conditions_or_ids (),
40+ 'experiment' ,
41+ 'test_experiment' ,
42+ user_attributes ,
43+ self .mock_client_logger
44+ )
3845 )
3946
4047 # Audience Ids exist but Audience Conditions is Empty
4148 experiment = self .project_config .get_experiment_from_key ('test_experiment' )
4249 experiment .audienceIds = ['11154' ]
4350 experiment .audienceConditions = []
4451 self .assertStrictTrue (
45- audience .does_user_meet_audience_conditions (self .project_config , experiment , user_attributes , self .mock_client_logger ,)
52+ audience .does_user_meet_audience_conditions (
53+ self .project_config ,
54+ experiment .get_audience_conditions_or_ids (),
55+ 'experiment' ,
56+ 'test_experiment' ,
57+ user_attributes ,
58+ self .mock_client_logger
59+ )
60+
4661 )
4762
4863 # Audience Ids is Empty and Audience Conditions is None
4964 experiment = self .project_config .get_experiment_from_key ('test_experiment' )
5065 experiment .audienceIds = []
5166 experiment .audienceConditions = None
5267 self .assertStrictTrue (
53- audience .does_user_meet_audience_conditions (self .project_config , experiment , user_attributes , self .mock_client_logger ,)
68+ audience .does_user_meet_audience_conditions (
69+ self .project_config ,
70+ experiment .get_audience_conditions_or_ids (),
71+ 'experiment' ,
72+ 'test_experiment' ,
73+ user_attributes ,
74+ self .mock_client_logger
75+ )
76+
5477 )
5578
5679 def test_does_user_meet_audience_conditions__with_audience (self ):
@@ -72,7 +95,12 @@ def test_does_user_meet_audience_conditions__with_audience(self):
7295 ['or' , '3988293899' , '3468206646' , '3468206647' , '3468206644' , '3468206643' ],
7396 ]
7497 audience .does_user_meet_audience_conditions (
75- self .project_config , experiment , user_attributes , self .mock_client_logger ,
98+ self .project_config ,
99+ experiment .get_audience_conditions_or_ids (),
100+ 'experiment' ,
101+ 'test_experiment' ,
102+ user_attributes ,
103+ self .mock_client_logger
76104 )
77105
78106 self .assertEqual (experiment .audienceConditions , cond_tree_eval .call_args [0 ][0 ])
@@ -82,7 +110,12 @@ def test_does_user_meet_audience_conditions__with_audience(self):
82110
83111 experiment .audienceConditions = None
84112 audience .does_user_meet_audience_conditions (
85- self .project_config , experiment , user_attributes , self .mock_client_logger ,
113+ self .project_config ,
114+ experiment .get_audience_conditions_or_ids (),
115+ 'experiment' ,
116+ 'test_experiment' ,
117+ user_attributes ,
118+ self .mock_client_logger
86119 )
87120
88121 self .assertEqual (experiment .audienceIds , cond_tree_eval .call_args [0 ][0 ])
@@ -95,17 +128,31 @@ def test_does_user_meet_audience_conditions__no_attributes(self):
95128
96129 # attributes set to empty dict
97130 with mock .patch ('optimizely.helpers.condition.CustomAttributeConditionEvaluator' ) as custom_attr_eval :
98- audience .does_user_meet_audience_conditions (self .project_config , experiment , {}, self .mock_client_logger )
131+ audience .does_user_meet_audience_conditions (
132+ self .project_config ,
133+ experiment .get_audience_conditions_or_ids (),
134+ 'experiment' ,
135+ 'test_experiment' ,
136+ {},
137+ self .mock_client_logger
138+ )
99139
100140 self .assertEqual ({}, custom_attr_eval .call_args [0 ][1 ])
101141
102142 # attributes set to None
103143 with mock .patch ('optimizely.helpers.condition.CustomAttributeConditionEvaluator' ) as custom_attr_eval :
104- audience .does_user_meet_audience_conditions (self .project_config , experiment , None , self .mock_client_logger )
144+ audience .does_user_meet_audience_conditions (
145+ self .project_config ,
146+ experiment .get_audience_conditions_or_ids (),
147+ 'experiment' ,
148+ 'test_experiment' ,
149+ None ,
150+ self .mock_client_logger
151+ )
105152
106153 self .assertEqual ({}, custom_attr_eval .call_args [0 ][1 ])
107154
108- def test_does_user_meet_audience_conditions__returns_True__when_condition_tree_evaluator_returns_True (self , ):
155+ def test_does_user_meet_audience_conditions__returns_true__when_condition_tree_evaluator_returns_true (self ):
109156 """ Test that does_user_meet_audience_conditions returns True when call to condition_tree_evaluator returns True. """
110157
111158 user_attributes = {'test_attribute' : 'test_value_1' }
@@ -114,11 +161,16 @@ def test_does_user_meet_audience_conditions__returns_True__when_condition_tree_e
114161
115162 self .assertStrictTrue (
116163 audience .does_user_meet_audience_conditions (
117- self .project_config , experiment , user_attributes , self .mock_client_logger ,
164+ self .project_config ,
165+ experiment .get_audience_conditions_or_ids (),
166+ 'experiment' ,
167+ 'test_experiment' ,
168+ user_attributes ,
169+ self .mock_client_logger
118170 )
119171 )
120172
121- def test_does_user_meet_audience_conditions__returns_False__when_condition_tree_evaluator_returns_None_or_False (self , ):
173+ def test_does_user_meet_audience_conditions__returns_false__when_condition_tree_evaluator_returns_none_or_false (self ):
122174 """ Test that does_user_meet_audience_conditions returns False
123175 when call to condition_tree_evaluator returns None or False. """
124176
@@ -128,15 +180,25 @@ def test_does_user_meet_audience_conditions__returns_False__when_condition_tree_
128180
129181 self .assertStrictFalse (
130182 audience .does_user_meet_audience_conditions (
131- self .project_config , experiment , user_attributes , self .mock_client_logger ,
183+ self .project_config ,
184+ experiment .get_audience_conditions_or_ids (),
185+ 'experiment' ,
186+ 'test_experiment' ,
187+ user_attributes ,
188+ self .mock_client_logger
132189 )
133190 )
134191
135192 with mock .patch ('optimizely.helpers.condition_tree_evaluator.evaluate' , return_value = False ):
136193
137194 self .assertStrictFalse (
138195 audience .does_user_meet_audience_conditions (
139- self .project_config , experiment , user_attributes , self .mock_client_logger ,
196+ self .project_config ,
197+ experiment .get_audience_conditions_or_ids (),
198+ 'experiment' ,
199+ 'test_experiment' ,
200+ user_attributes ,
201+ self .mock_client_logger
140202 )
141203 )
142204
@@ -149,7 +211,14 @@ def test_is_user_in_experiment__evaluates_audience_ids(self):
149211 experiment .audienceConditions = None
150212
151213 with mock .patch ('optimizely.helpers.condition.CustomAttributeConditionEvaluator' ) as custom_attr_eval :
152- audience .does_user_meet_audience_conditions (self .project_config , experiment , {}, self .mock_client_logger )
214+ audience .does_user_meet_audience_conditions (
215+ self .project_config ,
216+ experiment .get_audience_conditions_or_ids (),
217+ 'experiment' ,
218+ 'test_experiment' ,
219+ {},
220+ self .mock_client_logger
221+ )
153222
154223 audience_11154 = self .project_config .get_audience ('11154' )
155224 audience_11159 = self .project_config .get_audience ('11159' )
@@ -178,7 +247,14 @@ def test_does_user_meet_audience_conditions__evaluates_audience_conditions(self)
178247 ]
179248
180249 with mock .patch ('optimizely.helpers.condition.CustomAttributeConditionEvaluator' ) as custom_attr_eval :
181- audience .does_user_meet_audience_conditions (project_config , experiment , {}, self .mock_client_logger )
250+ audience .does_user_meet_audience_conditions (
251+ self .project_config ,
252+ experiment .get_audience_conditions_or_ids (),
253+ 'experiment' ,
254+ 'audience_combinations_experiment' ,
255+ {},
256+ self .mock_client_logger
257+ )
182258
183259 audience_3468206642 = project_config .get_audience ('3468206642' )
184260 audience_3988293898 = project_config .get_audience ('3988293898' )
@@ -208,7 +284,14 @@ def test_does_user_meet_audience_conditions__evaluates_audience_conditions_leaf_
208284 experiment .audienceConditions = '3468206645'
209285
210286 with mock .patch ('optimizely.helpers.condition.CustomAttributeConditionEvaluator' ) as custom_attr_eval :
211- audience .does_user_meet_audience_conditions (project_config , experiment , {}, self .mock_client_logger )
287+ audience .does_user_meet_audience_conditions (
288+ self .project_config ,
289+ experiment .get_audience_conditions_or_ids (),
290+ 'experiment' ,
291+ 'audience_combinations_experiment' ,
292+ {},
293+ self .mock_client_logger
294+ )
212295
213296 audience_3468206645 = project_config .get_audience ('3468206645' )
214297
@@ -232,7 +315,14 @@ def test_does_user_meet_audience_conditions__with_no_audience(self):
232315 experiment .audienceIds = []
233316 experiment .audienceConditions = []
234317
235- audience .does_user_meet_audience_conditions (self .project_config , experiment , {}, self .mock_client_logger )
318+ audience .does_user_meet_audience_conditions (
319+ self .project_config ,
320+ experiment .get_audience_conditions_or_ids (),
321+ 'experiment' ,
322+ 'test_experiment' ,
323+ {},
324+ self .mock_client_logger
325+ )
236326
237327 self .mock_client_logger .assert_has_calls (
238328 [
@@ -253,7 +343,12 @@ def test_is_user_in_experiment__evaluates_audience_ids(self):
253343 'optimizely.helpers.condition.CustomAttributeConditionEvaluator.evaluate' , side_effect = [None , None ],
254344 ):
255345 audience .does_user_meet_audience_conditions (
256- self .project_config , experiment , user_attributes , self .mock_client_logger ,
346+ self .project_config ,
347+ experiment .get_audience_conditions_or_ids (),
348+ 'experiment' ,
349+ 'test_experiment' ,
350+ user_attributes ,
351+ self .mock_client_logger
257352 )
258353
259354 self .assertEqual (5 , self .mock_client_logger .debug .call_count )
@@ -290,7 +385,14 @@ def test_does_user_meet_audience_conditions__evaluates_audience_conditions(self)
290385 with mock .patch (
291386 'optimizely.helpers.condition.CustomAttributeConditionEvaluator.evaluate' , side_effect = [False , None , True ],
292387 ):
293- audience .does_user_meet_audience_conditions (project_config , experiment , {}, self .mock_client_logger )
388+ audience .does_user_meet_audience_conditions (
389+ self .project_config ,
390+ experiment .get_audience_conditions_or_ids (),
391+ 'experiment' ,
392+ 'audience_combinations_experiment' ,
393+ {},
394+ self .mock_client_logger
395+ )
294396
295397 self .assertEqual (7 , self .mock_client_logger .debug .call_count )
296398 self .assertEqual (1 , self .mock_client_logger .info .call_count )
0 commit comments