package tunnelclient import ( "net/http" "net/http/httptest" "testing" ) func TestMarkIsOnlyOnMarkedHandlers(t *testing.T) { var saw bool h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { saw = FromTunnel(r.Context()) }) h.ServeHTTP(httptest.NewRecorder(), httptest.NewRequest("GET", "/", nil)) if saw { t.Fatal("an unmarked handler saw the mark") } Mark(h).ServeHTTP(httptest.NewRecorder(), httptest.NewRequest("GET", "/", nil)) if !saw { t.Fatal("Mark did not mark") } }