Skip to content

Commit 39f9cec

Browse files
[AI-FSSDK] [FSSDK-12337] Add validation for experiment type field
1 parent 0c56c4d commit 39f9cec

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

optimizely/project_config.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,24 @@ def __init__(self, datafile: str | bytes, logger: Logger, error_handler: Any):
189189
self.variation_key_map_by_experiment_id: dict[str, dict[str, Union[entities.Variation, VariationDict]]] = {}
190190
self.flag_variations_map: dict[str, list[entities.Variation]] = {}
191191

192+
valid_experiment_types = {
193+
enums.ExperimentTypes.ab,
194+
enums.ExperimentTypes.mab,
195+
enums.ExperimentTypes.cmab,
196+
enums.ExperimentTypes.td,
197+
enums.ExperimentTypes.fr,
198+
}
192199
for experiment in self.experiment_id_map.values():
200+
if experiment.type is not None and experiment.type not in valid_experiment_types:
201+
self.logger.error(
202+
f'Experiment "{experiment.key}" has invalid type "{experiment.type}". '
203+
f'Valid types: {valid_experiment_types}.'
204+
)
205+
self.error_handler.handle_error(
206+
exceptions.InvalidExperimentException(
207+
f'Invalid experiment type: {experiment.type}'
208+
)
209+
)
193210
self.experiment_key_map[experiment.key] = experiment
194211
self.variation_key_map[experiment.key] = self._generate_key_map(
195212
experiment.variations, 'key', entities.Variation

0 commit comments

Comments
 (0)