(t *testing.T)
| 85 | } |
| 86 | |
| 87 | func TestNewAPIClientFromFlagsWithCustomHeadersFromEnv(t *testing.T) { |
| 88 | var received http.Header |
| 89 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 90 | received = r.Header.Clone() |
| 91 | _, _ = w.Write([]byte("OK")) |
| 92 | })) |
| 93 | defer ts.Close() |
| 94 | host := strings.Replace(ts.URL, "http://", "tcp://", 1) |
| 95 | opts := &flags.ClientOptions{Hosts: []string{host}} |
| 96 | configFile := &configfile.ConfigFile{ |
| 97 | HTTPHeaders: map[string]string{ |
| 98 | "My-Header": "Custom-Value from config-file", |
| 99 | }, |
| 100 | } |
| 101 | |
| 102 | // envOverrideHTTPHeaders should override the HTTPHeaders from the config-file, |
| 103 | // so "My-Header" should not be present. |
| 104 | t.Setenv(envOverrideHTTPHeaders, `one=one-value,"two=two,value",three=,four=four-value,four=four-value-override`) |
| 105 | apiClient, err := NewAPIClientFromFlags(opts, configFile) |
| 106 | assert.NilError(t, err) |
| 107 | assert.Equal(t, apiClient.DaemonHost(), host) |
| 108 | assert.Equal(t, apiClient.ClientVersion(), client.MaxAPIVersion) |
| 109 | |
| 110 | expectedHeaders := http.Header{ |
| 111 | "One": []string{"one-value"}, |
| 112 | "Two": []string{"two,value"}, |
| 113 | "Three": []string{""}, |
| 114 | "Four": []string{"four-value-override"}, |
| 115 | "User-Agent": []string{UserAgent()}, |
| 116 | } |
| 117 | _, err = apiClient.Ping(context.TODO(), client.PingOptions{}) |
| 118 | assert.NilError(t, err) |
| 119 | assert.DeepEqual(t, received, expectedHeaders) |
| 120 | } |
| 121 | |
| 122 | func TestNewAPIClientFromFlagsWithAPIVersionFromEnv(t *testing.T) { |
| 123 | const customVersion = "v3.3" |
nothing calls this directly
no test coverage detected
searching dependent graphs…