@@ -344,7 +344,7 @@ def test_get_variation_for_rollout__returns_none_if_no_experiments(self, mock_lo
344
344
""" Test that get_variation_for_rollout returns None if there are no experiments (targeting rules). """
345
345
346
346
no_experiment_rollout = self .project_config .get_rollout_from_id ('201111' )
347
- self .assertEqual (decision_service .Decision (None , None ),
347
+ self .assertEqual (decision_service .Decision (None , None , decision_service . DECISION_SOURCE_ROLLOUT ),
348
348
self .decision_service .get_variation_for_rollout (no_experiment_rollout , 'test_user' ))
349
349
350
350
# Assert no log messages were generated
@@ -358,7 +358,7 @@ def test_get_variation_for_rollout__skips_to_everyone_else_rule(self, mock_loggi
358
358
359
359
with mock .patch ('optimizely.helpers.audience.is_user_in_experiment' , return_value = True ) as mock_audience_check ,\
360
360
mock .patch ('optimizely.bucketer.Bucketer.bucket' , return_value = None ):
361
- self .assertEqual (decision_service .Decision (None , None ),
361
+ self .assertEqual (decision_service .Decision (None , None , decision_service . DECISION_SOURCE_ROLLOUT ),
362
362
self .decision_service .get_variation_for_rollout (rollout , 'test_user' ))
363
363
364
364
# Check that after first experiment, it skips to the last experiment to check
@@ -381,7 +381,7 @@ def test_get_variation_for_rollout__returns_none_for_user_not_in_rollout(self, m
381
381
rollout = self .project_config .get_rollout_from_id ('211111' )
382
382
383
383
with mock .patch ('optimizely.helpers.audience.is_user_in_experiment' , return_value = False ) as mock_audience_check :
384
- self .assertEqual (decision_service .Decision (None , None ),
384
+ self .assertEqual (decision_service .Decision (None , None , decision_service . DECISION_SOURCE_ROLLOUT ),
385
385
self .decision_service .get_variation_for_rollout (rollout , 'test_user' ))
386
386
387
387
# Check that all experiments in rollout layer were checked
@@ -407,7 +407,9 @@ def test_get_variation_for_feature__returns_variation_for_feature_in_experiment(
407
407
expected_variation = self .project_config .get_variation_from_id ('test_experiment' , '111129' )
408
408
with mock .patch ('optimizely.decision_service.DecisionService.get_variation' ,
409
409
return_value = expected_variation ) as mock_decision :
410
- self .assertEqual (decision_service .Decision (expected_experiment , expected_variation ),
410
+ self .assertEqual (decision_service .Decision (expected_experiment ,
411
+ expected_variation ,
412
+ decision_service .DECISION_SOURCE_EXPERIMENT ),
411
413
self .decision_service .get_variation_for_feature (feature , 'user1' ))
412
414
413
415
mock_decision .assert_called_once_with (
@@ -447,7 +449,9 @@ def test_get_variation_for_feature__returns_variation_if_user_not_in_experiment_
447
449
'optimizely.helpers.audience.is_user_in_experiment' ,
448
450
side_effect = [False , True ]) as mock_audience_check , \
449
451
mock .patch ('optimizely.bucketer.Bucketer.bucket' , return_value = expected_variation ):
450
- self .assertEqual (decision_service .Decision (expected_experiment , expected_variation ),
452
+ self .assertEqual (decision_service .Decision (expected_experiment ,
453
+ expected_variation ,
454
+ decision_service .DECISION_SOURCE_ROLLOUT ),
451
455
self .decision_service .get_variation_for_feature (feature , 'user1' ))
452
456
453
457
self .assertEqual (2 , mock_audience_check .call_count )
@@ -469,7 +473,9 @@ def test_get_variation_for_feature__returns_variation_for_feature_in_group(self,
469
473
return_value = self .project_config .get_experiment_from_key ('group_exp_1' )) as mock_get_experiment_in_group , \
470
474
mock .patch ('optimizely.decision_service.DecisionService.get_variation' ,
471
475
return_value = expected_variation ) as mock_decision :
472
- self .assertEqual (decision_service .Decision (expected_experiment , expected_variation ),
476
+ self .assertEqual (decision_service .Decision (expected_experiment ,
477
+ expected_variation ,
478
+ decision_service .DECISION_SOURCE_EXPERIMENT ),
473
479
self .decision_service .get_variation_for_feature (feature , 'user1' ))
474
480
475
481
mock_get_experiment_in_group .assert_called_once_with (self .project_config .get_group ('19228' ), 'user1' )
@@ -484,7 +490,7 @@ def test_get_variation_for_feature__returns_none_for_user_not_in_group(self, _):
484
490
with mock .patch ('optimizely.decision_service.DecisionService.get_experiment_in_group' ,
485
491
return_value = None ) as mock_get_experiment_in_group , \
486
492
mock .patch ('optimizely.decision_service.DecisionService.get_variation' ) as mock_decision :
487
- self .assertEqual (decision_service .Decision (None , None ),
493
+ self .assertEqual (decision_service .Decision (None , None , decision_service . DECISION_SOURCE_EXPERIMENT ),
488
494
self .decision_service .get_variation_for_feature (feature , 'user1' ))
489
495
490
496
mock_get_experiment_in_group .assert_called_once_with (self .project_config .get_group ('19228' ), 'user1' )
@@ -497,7 +503,9 @@ def test_get_variation_for_feature__returns_none_for_user_not_in_experiment(self
497
503
expected_experiment = self .project_config .get_experiment_from_key ('test_experiment' )
498
504
499
505
with mock .patch ('optimizely.decision_service.DecisionService.get_variation' , return_value = None ) as mock_decision :
500
- self .assertEqual (decision_service .Decision (expected_experiment , None ),
506
+ self .assertEqual (decision_service .Decision (expected_experiment ,
507
+ None ,
508
+ decision_service .DECISION_SOURCE_EXPERIMENT ),
501
509
self .decision_service .get_variation_for_feature (feature , 'user1' ))
502
510
503
511
mock_decision .assert_called_once_with (
@@ -513,7 +521,9 @@ def test_get_variation_for_feature__returns_none_for_user_in_group_experiment_no
513
521
514
522
with mock .patch ('optimizely.decision_service.DecisionService.get_experiment_in_group' ,
515
523
return_value = self .project_config .get_experiment_from_key ('group_exp_2' )) as mock_decision :
516
- self .assertEqual (decision_service .Decision (expected_experiment , None ),
524
+ self .assertEqual (decision_service .Decision (expected_experiment ,
525
+ None ,
526
+ decision_service .DECISION_SOURCE_EXPERIMENT ),
517
527
self .decision_service .get_variation_for_feature (feature , 'user_1' ))
518
528
519
529
mock_decision .assert_called_once_with (self .project_config .get_group ('19228' ), 'user_1' )
0 commit comments