Skip to content

Commit 8dedd78

Browse files
committed
Revert "Renaming layers to rollouts (#68)"
This reverts commit 9f38b15.
1 parent dde426a commit 8dedd78

File tree

6 files changed

+74
-77
lines changed

6 files changed

+74
-77
lines changed

optimizely/decision_service.py

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

270270
# Next check if user is part of a rollout
271-
if not variation and feature.rolloutId:
272-
rollout = self.config.get_layer_from_id(feature.rolloutId)
273-
variation = self.get_variation_for_layer(rollout, user_id, attributes, ignore_user_profile=True)
271+
if not variation and feature.layerId:
272+
layer = self.config.get_layer_from_id(feature.layerId)
273+
variation = self.get_variation_for_layer(layer, user_id, attributes, ignore_user_profile=True)
274274

275275
return variation

optimizely/entities.py

Lines changed: 5 additions & 4 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 FeatureFlag(BaseEntity):
62+
class Feature(BaseEntity):
6363

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

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

8282
class Layer(BaseEntity):
8383

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

8889

optimizely/project_config.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,17 @@ 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.feature_flags = config.get('featureFlags', [])
57-
self.rollouts = config.get('rollouts', [])
5856
self.anonymize_ip = config.get('anonymizeIP', False)
57+
self.features = config.get('features', [])
58+
self.layers = config.get('layers', [])
5959

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

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

tests/base.py

Lines changed: 24 additions & 22 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-
'rollouts': [{
250+
'layers': [{
251251
'id': '211111',
252+
'policy': 'ordered',
252253
'experiments': [{
253-
'id': '211127',
254-
'key': '211127',
254+
'key': 'test_rollout_exp_1',
255255
'status': 'Running',
256256
'forcedVariations': {},
257257
'layerId': '211111',
@@ -263,20 +263,21 @@ def setUp(self):
263263
'entityId': '211129',
264264
'endOfRange': 9000
265265
}],
266+
'id': '211127',
266267
'variations': [{
267-
'key': '211128',
268+
'key': 'control',
268269
'id': '211128'
269270
}, {
270-
'key': '211129',
271+
'key': 'variation',
271272
'id': '211129'
272273
}]
273274
}]
274275
}],
275-
'featureFlags': [{
276+
'features': [{
276277
'id': '91111',
277278
'key': 'test_feature_1',
278279
'experimentIds': ['111127'],
279-
'rolloutId': '',
280+
'layerId': '',
280281
'variables': [{
281282
'id': '127',
282283
'key': 'is_working',
@@ -292,19 +293,19 @@ def setUp(self):
292293
'id': '91112',
293294
'key': 'test_feature_2',
294295
'experimentIds': [],
295-
'rolloutId': '211111',
296+
'layerId': '211111',
296297
'variables': [],
297298
}, {
298299
'id': '91113',
299300
'key': 'test_feature_in_group',
300301
'experimentIds': ['32222'],
301-
'rolloutId': '',
302+
'layerId': '',
302303
'variables': [],
303304
}, {
304305
'id': '91114',
305306
'key': 'test_feature_in_experiment_and_rollout',
306307
'experimentIds': ['111127'],
307-
'rolloutId': '211111',
308+
'layerId': '211111',
308309
'variables': [],
309310
}]
310311
}
@@ -479,11 +480,11 @@ def setUp(self):
479480
'{"name": "test_attribute", "type": "custom_attribute", "value": "test_value"}]]]',
480481
'id': '11154'
481482
}],
482-
'rollouts': [{
483+
'layers': [{
483484
'id': '211111',
485+
'policy': 'ordered',
484486
'experiments': [{
485-
'id': '211127',
486-
'key': '211127',
487+
'key': 'test_rollout_exp_1',
487488
'status': 'Running',
488489
'forcedVariations': {},
489490
'layerId': '211111',
@@ -495,36 +496,37 @@ def setUp(self):
495496
'entityId': '211129',
496497
'endOfRange': 9000
497498
}],
499+
'id': '211127',
498500
'variations': [{
499-
'key': '211128',
501+
'key': 'control',
500502
'id': '211128'
501503
}, {
502-
'key': '211129',
504+
'key': 'variation',
503505
'id': '211129'
504506
}]
505507
}]
506508
}],
507-
'featureFlags': [{
509+
'features': [{
508510
'id': '91111',
509-
'key': '91111',
511+
'key': 'test_feature_1',
510512
'experimentIds': ['111127'],
511-
'rolloutId': '',
513+
'layerId': '',
512514
'variables': [{
513515
'id': '127',
514-
'key': '127',
516+
'key': 'is_working',
515517
'defaultValue': 'true',
516518
'type': 'boolean',
517519
}, {
518520
'id': '128',
519-
'key': '128',
521+
'key': 'environment',
520522
'defaultValue': 'devel',
521523
'type': 'string',
522524
}]
523525
}, {
524526
'id': '91112',
525-
'key': '91112',
527+
'key': 'test_feature_2',
526528
'experimentIds': [],
527-
'rolloutId': '211111',
529+
'layerId': '211111',
528530
'variables': [],
529531
}]
530532
}

0 commit comments

Comments
 (0)