Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions tests/helpers_tests/test_audience.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,13 @@ def test_is_user_in_experiment__no_audience(self):
def test_is_user_in_experiment__no_attributes(self):
""" Test that is_user_in_experiment returns True when experiment is using no audience. """

self.assertFalse(audience.is_user_in_experiment(self.project_config,
self.project_config.get_experiment_from_key('test_experiment'), None))
self.assertFalse(audience.is_user_in_experiment(
self.project_config, self.project_config.get_experiment_from_key('test_experiment'), None)
)

self.assertFalse(audience.is_user_in_experiment(self.project_config,
self.project_config.get_experiment_from_key('test_experiment'), {}))
self.assertFalse(audience.is_user_in_experiment(
self.project_config, self.project_config.get_experiment_from_key('test_experiment'), {})
)

def test_is_user_in_experiment__audience_conditions_are_met(self):
""" Test that is_user_in_experiment returns True when audience conditions are met. """
Expand Down
38 changes: 19 additions & 19 deletions tests/test_bucketing.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,12 @@ def test_bucket(self):
# Variation 1
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
return_value=42) as mock_generate_bucket_value:
self.assertEqual(entities.Variation('111128', 'control'),
self.bucketer.bucket(
self.project_config.get_experiment_from_key('test_experiment'),
'test_user', 'test_user'
))
self.assertEqual(
entities.Variation('111128', 'control'),
self.bucketer.bucket(
self.project_config.get_experiment_from_key('test_experiment'),
'test_user', 'test_user'
))
mock_generate_bucket_value.assert_called_once_with('test_user111127')

# Empty entity ID
Expand All @@ -56,12 +57,11 @@ def test_bucket(self):
# Variation 2
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
return_value=5042) as mock_generate_bucket_value:
self.assertEqual(entities.Variation('111129', 'variation'),
self.bucketer.bucket(
self.project_config.get_experiment_from_key('test_experiment'),
'test_user',
'test_user'
))
self.assertEqual(
entities.Variation('111129', 'variation'),
self.bucketer.bucket(
self.project_config.get_experiment_from_key('test_experiment'), 'test_user', 'test_user'
))
mock_generate_bucket_value.assert_called_once_with('test_user111127')

# No matching variation
Expand Down Expand Up @@ -165,7 +165,7 @@ def test_bucket(self):

# Variation 1
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value', return_value=42),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertEqual(entities.Variation('111128', 'control'),
self.bucketer.bucket(self.project_config.get_experiment_from_key('test_experiment'),
'test_user',
Expand Down Expand Up @@ -196,7 +196,7 @@ def test_bucket(self):

# Variation 2
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value', return_value=5042),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertEqual(entities.Variation('111129', 'variation'),
self.bucketer.bucket(self.project_config.get_experiment_from_key('test_experiment'),
'test_user',
Expand All @@ -211,7 +211,7 @@ def test_bucket(self):

# No matching variation
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value', return_value=424242),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertIsNone(self.bucketer.bucket(self.project_config.get_experiment_from_key('test_experiment'),
'test_user',
'test_user'))
Expand All @@ -227,7 +227,7 @@ def test_bucket__experiment_in_group(self):
# In group, matching experiment and variation
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
side_effect=[42, 4242]),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertEqual(entities.Variation('28902', 'group_exp_1_variation'),
self.bucketer.bucket(self.project_config.get_experiment_from_key('group_exp_1'),
'test_user',
Expand All @@ -248,7 +248,7 @@ def test_bucket__experiment_in_group(self):
# In group, but in no experiment
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
side_effect=[8400, 9500]),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertIsNone(self.bucketer.bucket(self.project_config.get_experiment_from_key('group_exp_1'),
'test_user',
'test_user'))
Expand All @@ -261,7 +261,7 @@ def test_bucket__experiment_in_group(self):
# In group, no matching experiment
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
side_effect=[42, 9500]),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertIsNone(self.bucketer.bucket(
self.project_config.get_experiment_from_key('group_exp_1'), 'test_user', 'test_user'))
self.assertEqual(4, mock_logging.call_count)
Expand All @@ -277,7 +277,7 @@ def test_bucket__experiment_in_group(self):
# In group, experiment does not match
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
side_effect=[42, 4242]),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertIsNone(self.bucketer.bucket(self.project_config.get_experiment_from_key('group_exp_2'),
'test_user',
'test_user'))
Expand All @@ -292,7 +292,7 @@ def test_bucket__experiment_in_group(self):
# In group no matching variation
with mock.patch('optimizely.bucketer.Bucketer._generate_bucket_value',
side_effect=[42, 424242]),\
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
mock.patch('optimizely.logger.SimpleLogger.log') as mock_logging:
self.assertIsNone(self.bucketer.bucket(self.project_config.get_experiment_from_key('group_exp_1'),
'test_user',
'test_user'))
Expand Down
6 changes: 2 additions & 4 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ def test_init(self):
}, {
'entityId': '111129',
'endOfRange': 9000
}],
'111182'),
}], '111182'),
'group_exp_1': entities.Experiment(
'32222', 'group_exp_1', 'Running', [], [{
'key': 'group_exp_1_control',
Expand Down Expand Up @@ -425,8 +424,7 @@ def test_init__with_v4_datafile(self):
}, {
'entityId': '111129',
'endOfRange': 9000
}],
'111182'),
}], '111182'),
'group_exp_1': entities.Experiment(
'32222', 'group_exp_1', 'Running', [], [{
'key': 'group_exp_1_control',
Expand Down
18 changes: 9 additions & 9 deletions tests/test_decision_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,9 @@ def test_get_variation__user_has_stored_decision(self):
# Assert that stored variation is returned and bucketing service is not involved
mock_get_forced_variation.assert_called_once_with(experiment, 'test_user')
mock_lookup.assert_called_once_with('test_user')
mock_get_stored_variation.assert_called_once_with(experiment,
user_profile.UserProfile('test_user',
{'111127': {'variation_id': '111128'}}))
mock_get_stored_variation.assert_called_once_with(
experiment, user_profile.UserProfile('test_user', {'111127': {'variation_id': '111128'}})
)
self.assertEqual(0, mock_audience_check.call_count)
self.assertEqual(0, mock_bucket.call_count)
self.assertEqual(0, mock_save.call_count)
Expand Down Expand Up @@ -459,7 +459,8 @@ def test_get_variation_for_rollout__skips_to_everyone_else_rule(self, mock_loggi
mock.call(enums.LogLevels.DEBUG, 'User "test_user" is not in the traffic group for the targeting else. '
'Checking "Everyone Else" rule now.'),
mock.call(enums.LogLevels.DEBUG, 'User "test_user" meets conditions for targeting rule "Everyone Else".')],
mock_logging.call_args_list)
mock_logging.call_args_list
)

def test_get_variation_for_rollout__returns_none_for_user_not_in_rollout(self, mock_logging):
""" Test that get_variation_for_rollout returns None for the user not in the associated rollout. """
Expand Down Expand Up @@ -604,11 +605,10 @@ def test_get_variation_for_feature__returns_none_for_invalid_group_id(self, mock
feature = self.project_config.get_feature_from_key('test_feature_in_group')
feature.groupId = 'aabbccdd'

self.assertEqual(decision_service.Decision(None,
None,
decision_service.DECISION_SOURCE_EXPERIMENT),
self.decision_service.get_variation_for_feature(feature, 'test_user')
)
self.assertEqual(
decision_service.Decision(None, None, decision_service.DECISION_SOURCE_EXPERIMENT),
self.decision_service.get_variation_for_feature(feature, 'test_user')
)
mock_logging.assert_called_with(enums.LogLevels.ERROR,
enums.Errors.INVALID_GROUP_ID_ERROR.format('_get_variation_for_feature'))

Expand Down
4 changes: 2 additions & 2 deletions tests/test_event_dispatcher.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2016, Optimizely
# Copyright 2016, 2018, Optimizely
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
Expand Down Expand Up @@ -72,7 +72,7 @@ def test_dispatch_event__handle_request_exception(self):

with mock.patch('requests.post',
side_effect=request_exception.RequestException('Failed Request')) as mock_request_post,\
mock.patch('logging.error') as mock_log_error:
mock.patch('logging.error') as mock_log_error:
event_dispatcher.EventDispatcher.dispatch_event(event)

mock_request_post.assert_called_once_with(url, data=json.dumps(params),
Expand Down
Loading