MCPcopy Index your code
hub / github.com/labstack/echo / TestKeyAuthWithConfig

Function TestKeyAuthWithConfig

middleware/key_auth_test.go:52–281  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

50}
51
52func TestKeyAuthWithConfig(t *testing.T) {
53 var testCases = []struct {
54 name string
55 givenRequestFunc func() *http.Request
56 givenRequest func(req *http.Request)
57 whenConfig func(conf *KeyAuthConfig)
58 expectHandlerCalled bool
59 expectError string
60 }{
61 {
62 name: "ok, defaults, key from header",
63 givenRequest: func(req *http.Request) {
64 req.Header.Set(echo.HeaderAuthorization, "Bearer valid-key")
65 },
66 expectHandlerCalled: true,
67 },
68 {
69 name: "ok, custom skipper",
70 givenRequest: func(req *http.Request) {
71 req.Header.Set(echo.HeaderAuthorization, "Bearer error-key")
72 },
73 whenConfig: func(conf *KeyAuthConfig) {
74 conf.Skipper = func(context *echo.Context) bool {
75 return true
76 }
77 },
78 expectHandlerCalled: true,
79 },
80 {
81 name: "nok, defaults, invalid key from header, Authorization: Bearer",
82 givenRequest: func(req *http.Request) {
83 req.Header.Set(echo.HeaderAuthorization, "Bearer invalid-key")
84 },
85 expectHandlerCalled: false,
86 expectError: "code=401, message=Unauthorized, err=code=401, message=invalid key",
87 },
88 {
89 name: "nok, defaults, invalid scheme in header",
90 givenRequest: func(req *http.Request) {
91 req.Header.Set(echo.HeaderAuthorization, "Bear valid-key")
92 },
93 expectHandlerCalled: false,
94 expectError: "code=401, message=missing key, err=invalid value in request header",
95 },
96 {
97 name: "nok, defaults, missing header",
98 givenRequest: func(req *http.Request) {},
99 expectHandlerCalled: false,
100 expectError: "code=401, message=missing key, err=missing value in request header",
101 },
102 {
103 name: "ok, custom key lookup, header",
104 givenRequest: func(req *http.Request) {
105 req.Header.Set("API-Key", "valid-key")
106 },
107 whenConfig: func(conf *KeyAuthConfig) {
108 conf.KeyLookup = "header:API-Key"
109 },

Callers

nothing calls this directly

Calls 6

StringMethod · 0.95
KeyAuthWithConfigFunction · 0.85
SetMethod · 0.80
NewContextMethod · 0.80
AddMethod · 0.65
WrapMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…