github.com/aavshr/aws-sdk-go@v1.41.3/aws/corehandlers/user_agent_test.go (about)

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