@@ -303,6 +303,36 @@ func TestServerTailnet_ReverseProxy(t *testing.T) {
303
303
304
304
assert .Equal (t , expectedResponseCode , res .StatusCode )
305
305
})
306
+
307
+ t .Run ("BlockEndpoints" , func (t * testing.T ) {
308
+ t .Parallel ()
309
+
310
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
311
+ defer cancel ()
312
+
313
+ agents , serverTailnet := setupServerTailnetAgent (t , 1 , tailnettest .DisableSTUN )
314
+ a := agents [0 ]
315
+
316
+ require .True (t , serverTailnet .Conn ().GetBlockEndpoints (), "expected BlockEndpoints to be set" )
317
+
318
+ u , err := url .Parse (fmt .Sprintf ("http://127.0.0.1:%d" , codersdk .WorkspaceAgentHTTPAPIServerPort ))
319
+ require .NoError (t , err )
320
+
321
+ rp := serverTailnet .ReverseProxy (u , u , a .id )
322
+
323
+ rw := httptest .NewRecorder ()
324
+ req := httptest .NewRequest (
325
+ http .MethodGet ,
326
+ u .String (),
327
+ nil ,
328
+ ).WithContext (ctx )
329
+
330
+ rp .ServeHTTP (rw , req )
331
+ res := rw .Result ()
332
+ defer res .Body .Close ()
333
+
334
+ assert .Equal (t , http .StatusOK , res .StatusCode )
335
+ })
306
336
}
307
337
308
338
type wrappedListener struct {
@@ -375,6 +405,7 @@ func setupServerTailnetAgent(t *testing.T, agentNum int, opts ...tailnettest.DER
375
405
func () * tailcfg.DERPMap { return derpMap },
376
406
false ,
377
407
func (context.Context ) (tailnet.MultiAgentConn , error ) { return coord .ServeMultiAgent (uuid .New ()), nil },
408
+ ! derpMap .HasSTUN (),
378
409
trace .NewNoopTracerProvider (),
379
410
)
380
411
require .NoError (t , err )
0 commit comments