@@ -153,6 +153,34 @@ func TestAPIKey(t *testing.T) {
153
153
require .Equal (t , http .StatusUnauthorized , res .StatusCode )
154
154
})
155
155
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
+
156
184
t .Run ("InvalidSecret" , func (t * testing.T ) {
157
185
t .Parallel ()
158
186
var (
0 commit comments