Skip to content

Commit b1546b1

Browse files
committed
add unit test for ExtractAPIKeyMW
1 parent 5959b34 commit b1546b1

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

coderd/httpmw/apikey_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,34 @@ func TestAPIKey(t *testing.T) {
153153
require.Equal(t, http.StatusUnauthorized, res.StatusCode)
154154
})
155155

156+
t.Run("UserLinkNotFound", func(t *testing.T) {
157+
t.Parallel()
158+
var (
159+
db = dbfake.New()
160+
r = httptest.NewRequest("GET", "/", nil)
161+
rw = httptest.NewRecorder()
162+
user = dbgen.User(t, db, database.User{
163+
LoginType: database.LoginTypeGithub,
164+
})
165+
// Intentionally not inserting any user link
166+
_, token = dbgen.APIKey(t, db, database.APIKey{
167+
UserID: user.ID,
168+
LoginType: user.LoginType,
169+
})
170+
)
171+
r.Header.Set(codersdk.SessionTokenHeader, token)
172+
httpmw.ExtractAPIKeyMW(httpmw.ExtractAPIKeyConfig{
173+
DB: db,
174+
RedirectToLogin: false,
175+
})(successHandler).ServeHTTP(rw, r)
176+
res := rw.Result()
177+
defer res.Body.Close()
178+
require.Equal(t, http.StatusUnauthorized, res.StatusCode)
179+
var resp codersdk.Response
180+
require.NoError(t, json.NewDecoder(res.Body).Decode(&resp))
181+
require.Equal(t, resp.Message, httpmw.SignedOutErrorMessage)
182+
})
183+
156184
t.Run("InvalidSecret", func(t *testing.T) {
157185
t.Parallel()
158186
var (

0 commit comments

Comments
 (0)