@@ -63,12 +63,47 @@ describe('attachTelemetryPolicy', () => {
6363 expect ( requestPolicy . handleBrowserRequest ) . toHaveBeenCalledExactlyOnceWith ( request , callback )
6464 expect ( callback ) . not . toHaveBeenCalled ( )
6565 requestPolicy . handleBrowserRequest . mockClear ( )
66- const workerRequest = { ...request , webContents : undefined , resourceType : 'other' as const }
66+ const workerRequest = {
67+ ...request ,
68+ url : 'http://169.254.169.254/metadata' ,
69+ webContents : undefined ,
70+ resourceType : 'other' as const ,
71+ }
6772 listener ( workerRequest , callback )
6873 expect ( requestPolicy . handleBrowserRequest ) . toHaveBeenCalledExactlyOnceWith (
6974 workerRequest ,
7075 callback
7176 )
7277 expect ( callback ) . not . toHaveBeenCalled ( )
7378 } )
79+
80+ it ( 'preserves ordinary workers on the exact configured LAN app origin' , ( ) => {
81+ const contents = new WebContentsView ( ) . webContents
82+ const onBeforeRequest = vi . mocked ( contents . session . webRequest . onBeforeRequest )
83+ onBeforeRequest . mockClear ( )
84+ requestPolicy . handleBrowserRequest . mockClear ( )
85+ registerAgentWebContents ( contents , 'http://192.168.1.10:3000' )
86+ attachTelemetryPolicy ( contents . session , false )
87+ const listener = onBeforeRequest . mock . calls [ 0 ] [ 0 ]
88+ if ( typeof listener !== 'function' ) throw new Error ( 'Missing request policy' )
89+ const request : OnBeforeRequestListenerDetails = {
90+ id : 1 ,
91+ url : 'http://192.168.1.10:3000/editor.worker.js' ,
92+ method : 'GET' ,
93+ resourceType : 'script' ,
94+ referrer : '' ,
95+ timestamp : 0 ,
96+ uploadData : [ ] ,
97+ }
98+ const callback = vi . fn ( )
99+ listener ( request , callback )
100+ expect ( callback ) . toHaveBeenCalledExactlyOnceWith ( { cancel : false } )
101+ expect ( requestPolicy . handleBrowserRequest ) . not . toHaveBeenCalled ( )
102+
103+ for ( const url of [ 'http://192.168.1.11/data' , 'http://192.168.1.10:4000/data' ] ) {
104+ const otherRequest = { ...request , url }
105+ listener ( otherRequest , callback )
106+ expect ( requestPolicy . handleBrowserRequest ) . toHaveBeenCalledWith ( otherRequest , callback )
107+ }
108+ } )
74109} )
0 commit comments