MCPcopy Create free account
hub / github.com/cortexproject/cortex / TestHeaderInjection

Function TestHeaderInjection

pkg/api/middlewares_test.go:13–45  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestHeaderInjection(t *testing.T) {
14 middleware := HTTPHeaderMiddleware{TargetHeaders: []string{"TestHeader1", "TestHeader2", "Test3"}}
15 ctx := context.Background()
16 h := http.Header{}
17 contentsMap := make(map[string]string)
18 contentsMap["TestHeader1"] = "RequestID"
19 contentsMap["TestHeader2"] = "ContentsOfTestHeader2"
20 contentsMap["Test3"] = "SomeInformation"
21
22 h.Add("TestHeader1", contentsMap["TestHeader1"])
23 h.Add("TestHeader2", contentsMap["TestHeader2"])
24 h.Add("Test3", contentsMap["Test3"])
25
26 req := &http.Request{
27 Method: "GET",
28 RequestURI: "/HTTPHeaderTest",
29 Body: http.NoBody,
30 Header: h,
31 }
32
33 req = req.WithContext(ctx)
34 req = middleware.injectRequestContext(req)
35
36 headerMap := requestmeta.MapFromContext(req.Context())
37 require.NotNil(t, headerMap)
38
39 for _, header := range middleware.TargetHeaders {
40 require.Equal(t, contentsMap[header], headerMap[header])
41 }
42 for header, contents := range contentsMap {
43 require.Equal(t, contents, headerMap[header])
44 }
45}
46
47func TestExistingHeaderInContextIsNotOverridden(t *testing.T) {
48 middleware := HTTPHeaderMiddleware{TargetHeaders: []string{"TestHeader1", "TestHeader2", "Test3"}}

Callers

nothing calls this directly

Calls 5

injectRequestContextMethod · 0.95
MapFromContextFunction · 0.92
EqualMethod · 0.65
AddMethod · 0.45
ContextMethod · 0.45

Tested by

no test coverage detected