Skip to content

Commit a3f44cf

Browse files
ch3nnnkevwan
authored andcommitted
test: add test
1 parent 96712d5 commit a3f44cf

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

rest/engine_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ Verbose: true
114114
{
115115
priority: true,
116116
jwt: jwtSetting{
117-
enabled: true,
117+
enabled: true,
118+
tokenKeys: []string{"Token", "X-Token"},
118119
},
119120
signature: signatureSetting{},
120121
routes: []Route{{

rest/handler/authhandler_test.go

+26
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,32 @@ func TestAuthHandler(t *testing.T) {
5757
assert.Equal(t, "content", resp.Body.String())
5858
}
5959

60+
func TestAuthHandler_WithTokenKeys(t *testing.T) {
61+
const key = "B63F477D-BBA3-4E52-96D3-C0034C27694A"
62+
req := httptest.NewRequest(http.MethodGet, "http://localhost", http.NoBody)
63+
token, err := buildToken(key, map[string]any{
64+
"key": "value",
65+
}, 3600)
66+
assert.Nil(t, err)
67+
req.Header.Set("X-Token", token)
68+
handler := Authorize(key, WithTokenKeys([]string{"Token", "X-Token"}))(
69+
http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
70+
w.Header().Set("X-Test", "test")
71+
_, err := w.Write([]byte("content"))
72+
assert.Nil(t, err)
73+
74+
flusher, ok := w.(http.Flusher)
75+
assert.True(t, ok)
76+
flusher.Flush()
77+
}))
78+
79+
resp := httptest.NewRecorder()
80+
handler.ServeHTTP(resp, req)
81+
assert.Equal(t, http.StatusOK, resp.Code)
82+
assert.Equal(t, "test", resp.Header().Get("X-Test"))
83+
assert.Equal(t, "content", resp.Body.String())
84+
}
85+
6086
func TestAuthHandlerWithPrevSecret(t *testing.T) {
6187
const (
6288
key = "14F17379-EB8F-411B-8F12-6929002DCA76"

0 commit comments

Comments
 (0)