@@ -97,6 +97,28 @@ def test_browser_request_uses_curl_raw() -> None:
9797 assert request .url .params .get ("jwt" ) == "token-abc"
9898
9999
100+ @respx .mock
101+ def test_telemetry_stream_routes_directly_to_vm (monkeypatch : pytest .MonkeyPatch ) -> None :
102+ monkeypatch .setenv ("KERNEL_BROWSER_ROUTING_SUBRESOURCES" , "telemetry" )
103+ route = respx .get ("http://browser-session.test/browser/kernel/telemetry/stream" ).mock (
104+ return_value = httpx .Response (
105+ 200 ,
106+ headers = {"content-type" : "text/event-stream" },
107+ content = b'id: 1\n data: {"category":"api"}\n \n ' ,
108+ )
109+ )
110+ with Kernel (base_url = base_url , api_key = api_key , _strict_response_validation = True ) as client :
111+ _cache_browser (client )
112+ stream = client .browsers .telemetry .stream ("sess-1" )
113+ stream .close ()
114+
115+ assert route .called
116+ request = cast (httpx .Request , cast (Any , route .calls [0 ]).request )
117+ assert request .url .path == "/browser/kernel/telemetry/stream"
118+ assert request .url .params .get ("jwt" ) == "token-abc"
119+ assert request .headers .get ("Authorization" ) is None
120+
121+
100122@respx .mock
101123def test_browser_request_params_cannot_override_target_url_or_jwt () -> None :
102124 route = respx .get ("http://browser-session.test/browser/kernel/curl/raw" ).mock (
@@ -315,7 +337,7 @@ def test_browser_route_from_browser_requires_base_url_and_jwt() -> None:
315337
316338def test_browser_routing_config_from_env_defaults_to_curl (monkeypatch : pytest .MonkeyPatch ) -> None :
317339 monkeypatch .delenv ("KERNEL_BROWSER_ROUTING_SUBRESOURCES" , raising = False )
318- assert browser_routing_config_from_env ().subresources == ("curl" ,)
340+ assert browser_routing_config_from_env ().subresources == ("curl" , "telemetry" )
319341
320342
321343def test_browser_routing_config_from_env_empty_string_disables_routing (monkeypatch : pytest .MonkeyPatch ) -> None :
0 commit comments