@@ -1276,8 +1276,7 @@ def test_get_variation_for_feature__returns_variation_if_user_not_in_experiment_
1276
1276
"optimizely.helpers.audience.does_user_meet_audience_conditions" ,
1277
1277
side_effect = [[False , []], [True , []]],
1278
1278
) as mock_audience_check , self .mock_decision_logger as mock_decision_service_logging , mock .patch (
1279
- "optimizely.bucketer.Bucketer.bucket" , return_value = [expected_variation , []]):
1280
-
1279
+ "optimizely.bucketer.Bucketer.bucket" , return_value = [expected_variation , []]):
1281
1280
decision , _ = self .decision_service .get_variation_for_feature (
1282
1281
self .project_config , feature , "test_user"
1283
1282
)
@@ -1320,9 +1319,6 @@ def test_get_variation_for_feature__returns_variation_for_feature_in_group(self)
1320
1319
"group_exp_1" , "28901"
1321
1320
)
1322
1321
with mock .patch (
1323
- "optimizely.decision_service.DecisionService.get_experiment_in_group" ,
1324
- return_value = (self .project_config .get_experiment_from_key ("group_exp_1" ), []),
1325
- ) as mock_get_experiment_in_group , mock .patch (
1326
1322
"optimizely.decision_service.DecisionService.get_variation" ,
1327
1323
return_value = (expected_variation , []),
1328
1324
) as mock_decision :
@@ -1338,9 +1334,6 @@ def test_get_variation_for_feature__returns_variation_for_feature_in_group(self)
1338
1334
variation_received ,
1339
1335
)
1340
1336
1341
- mock_get_experiment_in_group .assert_called_once_with (
1342
- self .project_config , self .project_config .get_group ("19228" ), 'test_user' )
1343
-
1344
1337
mock_decision .assert_called_once_with (
1345
1338
self .project_config ,
1346
1339
self .project_config .get_experiment_from_key ("group_exp_1" ),
@@ -1356,11 +1349,9 @@ def test_get_variation_for_feature__returns_none_for_user_not_in_group(self):
1356
1349
feature = self .project_config .get_feature_from_key ("test_feature_in_group" )
1357
1350
1358
1351
with mock .patch (
1359
- "optimizely.decision_service.DecisionService.get_experiment_in_group" ,
1360
- return_value = [None , []],
1361
- ) as mock_get_experiment_in_group , mock .patch (
1362
- "optimizely.decision_service.DecisionService.get_variation"
1363
- ) as mock_decision :
1352
+ "optimizely.decision_service.DecisionService.get_variation" ,
1353
+ return_value = [None , []],
1354
+ ):
1364
1355
variation_received , _ = self .decision_service .get_variation_for_feature (
1365
1356
self .project_config , feature , "test_user"
1366
1357
)
@@ -1369,11 +1360,6 @@ def test_get_variation_for_feature__returns_none_for_user_not_in_group(self):
1369
1360
variation_received ,
1370
1361
)
1371
1362
1372
- mock_get_experiment_in_group .assert_called_once_with (
1373
- self .project_config , self .project_config .get_group ("19228" ), "test_user" )
1374
-
1375
- self .assertFalse (mock_decision .called )
1376
-
1377
1363
def test_get_variation_for_feature__returns_none_for_user_not_in_experiment (self ):
1378
1364
""" Test that get_variation_for_feature returns None for user not in the associated experiment. """
1379
1365
@@ -1405,16 +1391,12 @@ def test_get_variation_for_feature__returns_none_for_invalid_group_id(self):
1405
1391
feature = self .project_config .get_feature_from_key ("test_feature_in_group" )
1406
1392
feature .groupId = "aabbccdd"
1407
1393
1408
- with self .mock_decision_logger as mock_decision_service_logging :
1409
- variation_received , _ = self .decision_service .get_variation_for_feature (
1410
- self .project_config , feature , "test_user"
1411
- )
1412
- self .assertEqual (
1413
- decision_service .Decision (None , None , enums .DecisionSources .ROLLOUT ),
1414
- variation_received ,
1415
- )
1416
- mock_decision_service_logging .error .assert_called_once_with (
1417
- enums .Errors .INVALID_GROUP_ID .format ("_get_variation_for_feature" )
1394
+ variation_received , _ = self .decision_service .get_variation_for_feature (
1395
+ self .project_config , feature , "test_user"
1396
+ )
1397
+ self .assertEqual (
1398
+ decision_service .Decision (None , None , enums .DecisionSources .ROLLOUT ),
1399
+ variation_received ,
1418
1400
)
1419
1401
1420
1402
def test_get_variation_for_feature__returns_none_for_user_in_group_experiment_not_associated_with_feature (
@@ -1424,10 +1406,9 @@ def test_get_variation_for_feature__returns_none_for_user_in_group_experiment_no
1424
1406
not targeting a feature, then None is returned. """
1425
1407
1426
1408
feature = self .project_config .get_feature_from_key ("test_feature_in_group" )
1427
-
1428
1409
with mock .patch (
1429
- "optimizely.decision_service.DecisionService.get_experiment_in_group " ,
1430
- return_value = [self . project_config . get_experiment_from_key ( "group_exp_2" ) , []],
1410
+ "optimizely.decision_service.DecisionService.get_variation " ,
1411
+ return_value = [None , []],
1431
1412
) as mock_decision :
1432
1413
variation_received , _ = self .decision_service .get_variation_for_feature (
1433
1414
self .project_config , feature , "test_user"
@@ -1438,43 +1419,5 @@ def test_get_variation_for_feature__returns_none_for_user_in_group_experiment_no
1438
1419
)
1439
1420
1440
1421
mock_decision .assert_called_once_with (
1441
- self .project_config , self .project_config .get_group ("19228" ), "test_user"
1442
- )
1443
-
1444
- def test_get_experiment_in_group (self ):
1445
- """ Test that get_experiment_in_group returns the bucketed experiment for the user. """
1446
-
1447
- group = self .project_config .get_group ("19228" )
1448
- experiment = self .project_config .get_experiment_from_id ("32222" )
1449
- with mock .patch (
1450
- "optimizely.bucketer.Bucketer.find_bucket" , return_value = "32222"
1451
- ), self .mock_decision_logger as mock_decision_service_logging :
1452
- variation_received , _ = self .decision_service .get_experiment_in_group (
1453
- self .project_config , group , "test_user"
1454
- )
1455
- self .assertEqual (
1456
- experiment ,
1457
- variation_received ,
1458
- )
1459
-
1460
- mock_decision_service_logging .info .assert_called_once_with (
1461
- 'User with bucketing ID "test_user" is in experiment group_exp_1 of group 19228.'
1462
- )
1463
-
1464
- def test_get_experiment_in_group__returns_none_if_user_not_in_group (self ):
1465
- """ Test that get_experiment_in_group returns None if the user is not bucketed into the group. """
1466
-
1467
- group = self .project_config .get_group ("19228" )
1468
- with mock .patch (
1469
- "optimizely.bucketer.Bucketer.find_bucket" , return_value = None
1470
- ), self .mock_decision_logger as mock_decision_service_logging_1 :
1471
- variation_received , _ = self .decision_service .get_experiment_in_group (
1472
- self .project_config , group , "test_user"
1473
- )
1474
- self .assertIsNone (
1475
- variation_received
1476
- )
1477
-
1478
- mock_decision_service_logging_1 .info .assert_called_once_with (
1479
- 'User with bucketing ID "test_user" is not in any experiments of group 19228.'
1422
+ self .project_config , self .project_config .get_experiment_from_id ("32222" ), "test_user" , None , False
1480
1423
)
0 commit comments