@@ -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