Skip to content

Commit a898e4a

Browse files
committed
add test for reddit_experiments#expose()
1 parent 7187fda commit a898e4a

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

tests/decider_tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -754,12 +754,12 @@ def test_expose_without_variant_name(self):
754754
decider = self.setup_decider(f.name, self.dc)
755755

756756
self.assertEqual(self.event_logger.log.call_count, 0)
757-
variant = "variant_4"
757+
758758
with self.assertLogs() as captured:
759759
decider.expose("exp_1", None)
760760

761761
assert any(
762-
"`variant_name` not provided in expose() call for experiment: exp_1"
762+
"`variant_name` arg not provided in reddit_decider.expose() call for experiment: exp_1"
763763
in x.getMessage()
764764
for x in captured.records
765765
)

tests/experiment_tests.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,45 @@ def test_exposure_event_fields_with_cfg_data(self):
259259
self.assertEqual(getattr(event_fields["experiment"], "owner"), "test_owner")
260260
self.assertEqual(getattr(event_fields["experiment"], "version"), "1")
261261

262+
def test_expose_without_variant_name(self):
263+
cfg_data = {
264+
"test": {
265+
"id": 1,
266+
"name": "test",
267+
"owner": "test_owner",
268+
"type": "r2",
269+
"version": "1",
270+
"start_ts": time.time() - THIRTY_DAYS,
271+
"stop_ts": time.time() + THIRTY_DAYS,
272+
"experiment": {
273+
"id": 1,
274+
"name": "test",
275+
"variants": {"active": 10, "control_1": 10, "control_2": 10},
276+
},
277+
}
278+
}
279+
experiments = Experiments(
280+
config_watcher=self.mock_filewatcher,
281+
server_span=self.mock_span,
282+
context_name="test",
283+
cfg_data=cfg_data,
284+
global_cache={},
285+
event_logger=self.event_logger,
286+
)
287+
288+
self.assertEqual(self.event_logger.log.call_count, 0)
289+
290+
with self.assertLogs() as captured:
291+
experiments.expose("test", variant_name=None, user=self.user, app_name="r2")
292+
293+
assert any(
294+
"`variant_name` arg not provided in reddit_experiments.expose() call for experiment: test"
295+
in x.getMessage()
296+
for x in captured.records
297+
)
298+
299+
self.assertEqual(self.event_logger.log.call_count, 0)
300+
262301
def test_that_override_true_has_no_effect_with_cfg_data(self):
263302
cfg_data = {
264303
"test": {

0 commit comments

Comments
 (0)