1package corehandlers 2 3import ( 4 "net/http" 5 "os" 6 "testing" 7 8 "github.com/aws/aws-sdk-go/aws/request" 9) 10 11func TestAddHostExecEnvUserAgentHander(t *testing.T) { 12 cases := []struct { 13 ExecEnv string 14 Expect string 15 }{ 16 {ExecEnv: "Lambda", Expect: "exec_env/Lambda"}, 17 {ExecEnv: "", Expect: ""}, 18 {ExecEnv: "someThingCool", Expect: "exec_env/someThingCool"}, 19 } 20 21 for i, c := range cases { 22 os.Clearenv() 23 os.Setenv(execEnvVar, c.ExecEnv) 24 25 req := &request.Request{ 26 HTTPRequest: &http.Request{ 27 Header: http.Header{}, 28 }, 29 } 30 AddHostExecEnvUserAgentHander.Fn(req) 31 32 if err := req.Error; err != nil { 33 t.Fatalf("%d, expect no error, got %v", i, err) 34 } 35 36 if e, a := c.Expect, req.HTTPRequest.Header.Get("User-Agent"); e != a { 37 t.Errorf("%d, expect %v user agent, got %v", i, e, a) 38 } 39 } 40} 41