@@ -5508,3 +5508,88 @@ def test_env_var_not_set_leaves_dir_none(self, monkeypatch):
55085508 )
55095509 assert client ._failed_traces_dir is None
55105510 _clear_env_cache ()
5511+
5512+ def test_filter_new_token_events_strips_kwargs (self ):
5513+ """Test that _filter_new_token_events strips kwargs from new_token events."""
5514+ client = Client (api_url = "http://localhost:1984" , api_key = "test" )
5515+ events = [
5516+ {
5517+ "name" : "new_token" ,
5518+ "kwargs" : {"token" : "sensitive streaming data" },
5519+ "time" : "2024-01-01T00:00:00Z" ,
5520+ },
5521+ {
5522+ "name" : "other_event" ,
5523+ "kwargs" : {"data" : "keep this" },
5524+ "time" : "2024-01-01T00:00:01Z" ,
5525+ },
5526+ ]
5527+
5528+ filtered = client ._filter_new_token_events (events )
5529+
5530+ assert filtered [0 ]["name" ] == "new_token"
5531+ assert filtered [0 ]["time" ] == "2024-01-01T00:00:00Z"
5532+ assert "kwargs" not in filtered [0 ]
5533+ assert filtered [1 ]["kwargs" ] == {"data" : "keep this" }
5534+
5535+ def test_filter_new_token_events_empty_events (self ):
5536+ """Test that _filter_new_token_events handles empty events list."""
5537+ client = Client (api_url = "http://localhost:1984" , api_key = "test" )
5538+ filtered = client ._filter_new_token_events ([])
5539+ assert filtered == []
5540+
5541+ def test_filter_new_token_events_none_events (self ):
5542+ """Test that _filter_new_token_events handles None events."""
5543+ client = Client (api_url = "http://localhost:1984" , api_key = "test" )
5544+ filtered = client ._filter_new_token_events (None )
5545+ assert filtered is None
5546+
5547+ def test_filter_new_token_events_without_kwargs (self ):
5548+ """Test that _filter_new_token_events handles events without kwargs."""
5549+ client = Client (api_url = "http://localhost:1984" , api_key = "test" )
5550+ events = [
5551+ {"name" : "new_token" , "time" : "2024-01-01T00:00:00Z" },
5552+ {"name" : "other_event" , "time" : "2024-01-01T00:00:01Z" },
5553+ ]
5554+
5555+ filtered = client ._filter_new_token_events (events )
5556+
5557+ assert filtered [0 ] == {"name" : "new_token" , "time" : "2024-01-01T00:00:00Z" }
5558+ assert filtered [1 ] == {"name" : "other_event" , "time" : "2024-01-01T00:00:01Z" }
5559+
5560+ def test_filter_new_token_events_preserves_other_properties (self ):
5561+ """Test that _filter_new_token_events preserves other event properties."""
5562+ client = Client (api_url = "http://localhost:1984" , api_key = "test" )
5563+ events = [
5564+ {
5565+ "name" : "new_token" ,
5566+ "kwargs" : {"token" : "data" },
5567+ "time" : "2024-01-01T00:00:00Z" ,
5568+ "message" : "token received" ,
5569+ "custom_field" : "custom_value" ,
5570+ }
5571+ ]
5572+
5573+ filtered = client ._filter_new_token_events (events )
5574+
5575+ assert filtered [0 ]["name" ] == "new_token"
5576+ assert filtered [0 ]["time" ] == "2024-01-01T00:00:00Z"
5577+ assert filtered [0 ]["message" ] == "token received"
5578+ assert filtered [0 ]["custom_field" ] == "custom_value"
5579+ assert "kwargs" not in filtered [0 ]
5580+
5581+ def test_filter_new_token_events_multiple_new_token_events (self ):
5582+ """Test that _filter_new_token_events filters multiple new_token events."""
5583+ client = Client (api_url = "http://localhost:1984" , api_key = "test" )
5584+ events = [
5585+ {"name" : "new_token" , "kwargs" : {"token" : "chunk1" }, "time" : "t1" },
5586+ {"name" : "new_token" , "kwargs" : {"token" : "chunk2" }, "time" : "t2" },
5587+ {"name" : "new_token" , "kwargs" : {"token" : "chunk3" }, "time" : "t3" },
5588+ ]
5589+
5590+ filtered = client ._filter_new_token_events (events )
5591+
5592+ assert len (filtered ) == 3
5593+ for event in filtered :
5594+ assert "kwargs" not in event
5595+ assert event ["name" ] == "new_token"
0 commit comments