github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/dashboard/dashapi/dashapi_test.go (about) 1 // Copyright 2024 syzkaller project authors. All rights reserved. 2 // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 3 4 package dashapi 5 6 import ( 7 "bytes" 8 "testing" 9 ) 10 11 func TestNewOpts(t *testing.T) { 12 tests := []struct { 13 name string 14 userAgent string 15 }{ 16 { 17 name: "no_options", 18 }, 19 { 20 name: "custom_user_agent", 21 userAgent: "Custom Agent/2.3", 22 }, 23 } 24 25 for _, test := range tests { 26 t.Run(test.name, func(t *testing.T) { 27 opts := []DashboardOpts{} 28 if test.userAgent != "" { 29 opts = append(opts, UserAgent(test.userAgent)) 30 } 31 dash, err := New("some_client", "some_addr", "some_key", opts...) 32 if err != nil { 33 t.Fatalf("call to New() returned unexpected error, got: %v, want: nil", err) 34 } 35 36 req, err := dash.ctor("GET", "http://www.example.com", bytes.NewBuffer([]byte("body"))) 37 if err != nil { 38 t.Errorf("ctor() returned unexpected error, got: %v, want: nil", err) 39 } 40 41 got := req.Header.Get("User-Agent") 42 if got != test.userAgent { 43 t.Errorf("created request has unexpected header. got: %s, want: 'Custom Agent/2.3'", got) 44 } 45 }) 46 } 47 }