1
2
3
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