MCPcopy
hub / github.com/go-kit/kit / TestAddMultipleHeadersErrorEncoder

Function TestAddMultipleHeadersErrorEncoder

transport/http/server_test.go:304–333  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

302}
303
304func TestAddMultipleHeadersErrorEncoder(t *testing.T) {
305 errStr := "oh no"
306 handler := httptransport.NewServer(
307 func(context.Context, interface{}) (interface{}, error) {
308 return nil, multiHeaderResponseError{msg: errStr}
309 },
310 func(context.Context, *http.Request) (interface{}, error) { return struct{}{}, nil },
311 httptransport.EncodeJSONResponse,
312 )
313
314 server := httptest.NewServer(handler)
315 defer server.Close()
316
317 resp, err := http.Get(server.URL)
318 if err != nil {
319 t.Fatal(err)
320 }
321 expect := map[string]map[string]struct{}{"Vary": map[string]struct{}{"Origin": struct{}{}, "User-Agent": struct{}{}}}
322 for k, vls := range resp.Header {
323 for _, v := range vls {
324 delete((expect[k]), v)
325 }
326 if len(expect[k]) != 0 {
327 t.Errorf("Header: unexpected header %s: %v", k, expect[k])
328 }
329 }
330 if b, _ := ioutil.ReadAll(resp.Body); errStr != string(b) {
331 t.Errorf("ErrorEncoder: got: %q, expected: %q", b, errStr)
332 }
333}
334
335type noContentResponse struct{}
336

Callers

nothing calls this directly

Calls 2

CloseMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…