Skip to content

Commit 9f32a5a

Browse files
authored
Merge pull request #95 from reddit/drop_decider_fr_manual_exposures
Drop FR manual exposures
2 parents 0572ec9 + 5e75446 commit 9f32a5a

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

reddit_decider/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,10 @@ def expose(
380380
logger.info(str(exc))
381381
return
382382

383+
# drop exposure for feature rollouts
384+
if not feature.emit_event:
385+
return
386+
383387
event_context_fields = self._decider_context.to_event_dict()
384388
event_context_fields.update(exposure_kwargs or {})
385389
event_fields = deepcopy(event_context_fields)

tests/decider_tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,19 @@ def test_expose(self):
747747
experiment_name="exp_1", variant=variant, event_fields=event_fields
748748
)
749749

750+
def test_feature_rollout_does_not_expose(self):
751+
self.exp_base_config["exp_1"].update({"emit_event": False})
752+
753+
with create_temp_config_file(self.exp_base_config) as f:
754+
decider = setup_decider(f, self.dc, self.mock_span, self.event_logger)
755+
756+
self.assertEqual(self.event_logger.log.call_count, 0)
757+
variant = "variant_4"
758+
decider.expose("exp_1", variant)
759+
760+
# exposure not fired
761+
self.assertEqual(self.event_logger.log.call_count, 0)
762+
750763
def test_expose_without_variant_name(self):
751764
with create_temp_config_file(self.exp_base_config) as f:
752765
decider = setup_decider(f.name, self.dc, self.mock_span, self.event_logger)

0 commit comments

Comments
 (0)