Source file src/cmd/go/internal/web/http_test.go

     1  // Copyright 2026 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package web
     6  
     7  import (
     8  	"bytes"
     9  	"io"
    10  	"net/http"
    11  	"net/http/httptest"
    12  	"net/url"
    13  	"testing"
    14  )
    15  
    16  func TestUserAgent(t *testing.T) {
    17  	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    18  		w.Write([]byte(r.UserAgent()))
    19  	}))
    20  	defer ts.Close()
    21  
    22  	u, err := url.Parse(ts.URL)
    23  	if err != nil {
    24  		t.Fatal("parse httptest url:", err)
    25  	}
    26  	res, err := Get(Insecure, u)
    27  	if err != nil {
    28  		t.Error("http get:", err)
    29  	}
    30  	b, err := io.ReadAll(res.Body)
    31  	if err != nil {
    32  		t.Error("read response body:", err)
    33  	}
    34  	gotUserAgent := string(bytes.TrimSpace(b))
    35  	if gotUserAgent != userAgent {
    36  		t.Errorf("User-Agent: %s, want %s", gotUserAgent, userAgent)
    37  	}
    38  }
    39  

View as plain text