Skip to content

Commit 9f38b15

Browse files
Renaming layers to rollouts (#68)
1 parent a8af94d commit 9f38b15

File tree

6 files changed

+77
-74
lines changed

6 files changed

+77
-74
lines changed

optimizely/decision_service.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,9 @@ def get_variation_for_feature(self, feature, user_id, attributes=None):
216216
'User "%s" is in variation %s of experiment %s.' % (user_id, variation.key, experiment.key))
217217

218218
# Next check if user is part of a rollout
219-
if not variation and feature.layerId:
220-
layer = self.config.get_layer_from_id(feature.layerId)
221-
variation = self.get_variation_for_layer(layer, user_id, attributes, ignore_user_profile=True)
219+
if not variation and feature.rolloutId:
220+
rollout = self.config.get_layer_from_id(feature.rolloutId)
221+
variation = self.get_variation_for_layer(rollout, user_id, attributes, ignore_user_profile=True)
222222

223223
return variation
224224

optimizely/entities.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ def __init__(self, id, key, status, audienceIds, variations, forcedVariations,
5959
self.groupPolicy = groupPolicy
6060

6161

62-
class Feature(BaseEntity):
62+
class FeatureFlag(BaseEntity):
6363

64-
def __init__(self, id, key, experimentIds, layerId, variables, groupId=None, **kwargs):
64+
def __init__(self, id, key, experimentIds, rolloutId, variables, groupId=None, **kwargs):
6565
self.id = id
6666
self.key = key
6767
self.experimentIds = experimentIds
68-
self.layerId = layerId
68+
self.rolloutId = rolloutId
6969
self.variables = variables
7070
self.groupId = groupId
7171

@@ -81,9 +81,8 @@ def __init__(self, id, policy, experiments, trafficAllocation, **kwargs):
8181

8282
class Layer(BaseEntity):
8383

84-
def __init__(self, id, policy, experiments, **kwargs):
84+
def __init__(self, id, experiments, **kwargs):
8585
self.id = id
86-
self.policy = policy
8786
self.experiments = experiments
8887

8988

optimizely/project_config.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,16 @@ def __init__(self, datafile, logger, error_handler):
5353
self.events = config.get('events', [])
5454
self.attributes = config.get('attributes', [])
5555
self.audiences = config.get('audiences', [])
56-
self.features = config.get('features', [])
57-
self.layers = config.get('layers', [])
56+
self.feature_flags = config.get('featureFlags', [])
57+
self.rollouts = config.get('rollouts', [])
5858

5959
# Utility maps for quick lookup
6060
self.group_id_map = self._generate_key_map(self.groups, 'id', entities.Group)
6161
self.experiment_key_map = self._generate_key_map(self.experiments, 'key', entities.Experiment)
6262
self.event_key_map = self._generate_key_map(self.events, 'key', entities.Event)
6363
self.attribute_key_map = self._generate_key_map(self.attributes, 'key', entities.Attribute)
6464
self.audience_id_map = self._generate_key_map(self.audiences, 'id', entities.Audience)
65-
self.layer_id_map = self._generate_key_map(self.layers, 'id', entities.Layer)
65+
self.layer_id_map = self._generate_key_map(self.rollouts, 'id', entities.Layer)
6666
for layer in self.layer_id_map.values():
6767
for experiment in layer.experiments:
6868
self.experiment_key_map[experiment['key']] = entities.Experiment(**experiment)
@@ -94,7 +94,7 @@ def __init__(self, datafile, logger, error_handler):
9494
variation.variables, 'id', entities.Variation.VariableUsage
9595
)
9696

97-
self.feature_key_map = self._generate_key_map(self.features, 'key', entities.Feature)
97+
self.feature_key_map = self._generate_key_map(self.feature_flags, 'key', entities.FeatureFlag)
9898
for feature in self.feature_key_map.values():
9999
feature.variables = self._generate_key_map(feature.variables, 'key', entities.Variable)
100100

tests/base.py

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -247,11 +247,11 @@ def setUp(self):
247247
'{"name": "test_attribute", "type": "custom_attribute", "value": "test_value"}]]]',
248248
'id': '11154'
249249
}],
250-
'layers': [{
250+
'rollouts': [{
251251
'id': '211111',
252-
'policy': 'ordered',
253252
'experiments': [{
254-
'key': 'test_rollout_exp_1',
253+
'id': '211127',
254+
'key': '211127',
255255
'status': 'Running',
256256
'forcedVariations': {},
257257
'layerId': '211111',
@@ -263,21 +263,20 @@ def setUp(self):
263263
'entityId': '211129',
264264
'endOfRange': 9000
265265
}],
266-
'id': '211127',
267266
'variations': [{
268-
'key': 'control',
267+
'key': '211128',
269268
'id': '211128'
270269
}, {
271-
'key': 'variation',
270+
'key': '211129',
272271
'id': '211129'
273272
}]
274273
}]
275274
}],
276-
'features': [{
275+
'featureFlags': [{
277276
'id': '91111',
278277
'key': 'test_feature_1',
279278
'experimentIds': ['111127'],
280-
'layerId': '',
279+
'rolloutId': '',
281280
'variables': [{
282281
'id': '127',
283282
'key': 'is_working',
@@ -293,19 +292,19 @@ def setUp(self):
293292
'id': '91112',
294293
'key': 'test_feature_2',
295294
'experimentIds': [],
296-
'layerId': '211111',
295+
'rolloutId': '211111',
297296
'variables': [],
298297
}, {
299298
'id': '91113',
300299
'key': 'test_feature_in_group',
301300
'experimentIds': ['32222'],
302-
'layerId': '',
301+
'rolloutId': '',
303302
'variables': [],
304303
}, {
305304
'id': '91114',
306305
'key': 'test_feature_in_experiment_and_rollout',
307306
'experimentIds': ['111127'],
308-
'layerId': '211111',
307+
'rolloutId': '211111',
309308
'variables': [],
310309
}]
311310
}
@@ -480,11 +479,11 @@ def setUp(self):
480479
'{"name": "test_attribute", "type": "custom_attribute", "value": "test_value"}]]]',
481480
'id': '11154'
482481
}],
483-
'layers': [{
482+
'rollouts': [{
484483
'id': '211111',
485-
'policy': 'ordered',
486484
'experiments': [{
487-
'key': 'test_rollout_exp_1',
485+
'id': '211127',
486+
'key': '211127',
488487
'status': 'Running',
489488
'forcedVariations': {},
490489
'layerId': '211111',
@@ -496,37 +495,36 @@ def setUp(self):
496495
'entityId': '211129',
497496
'endOfRange': 9000
498497
}],
499-
'id': '211127',
500498
'variations': [{
501-
'key': 'control',
499+
'key': '211128',
502500
'id': '211128'
503501
}, {
504-
'key': 'variation',
502+
'key': '211129',
505503
'id': '211129'
506504
}]
507505
}]
508506
}],
509-
'features': [{
507+
'featureFlags': [{
510508
'id': '91111',
511-
'key': 'test_feature_1',
509+
'key': '91111',
512510
'experimentIds': ['111127'],
513-
'layerId': '',
511+
'rolloutId': '',
514512
'variables': [{
515513
'id': '127',
516-
'key': 'is_working',
514+
'key': '127',
517515
'defaultValue': 'true',
518516
'type': 'boolean',
519517
}, {
520518
'id': '128',
521-
'key': 'environment',
519+
'key': '128',
522520
'defaultValue': 'devel',
523521
'type': 'string',
524522
}]
525523
}, {
526524
'id': '91112',
527-
'key': 'test_feature_2',
525+
'key': '91112',
528526
'experimentIds': [],
529-
'layerId': '211111',
527+
'rolloutId': '211111',
530528
'variables': [],
531529
}]
532530
}

0 commit comments

Comments
 (0)