@@ -11,9 +11,11 @@ import (
11
11
"testing"
12
12
"time"
13
13
14
+ "github.com/brianvoe/gofakeit/v7"
14
15
"github.com/google/uuid"
15
16
"github.com/sqlc-dev/pqtype"
16
17
"github.com/stretchr/testify/require"
18
+ "go.uber.org/mock/gomock"
17
19
"golang.org/x/xerrors"
18
20
19
21
"cdr.dev/slog"
@@ -22,6 +24,7 @@ import (
22
24
"github.com/coder/coder/v2/coderd/database/db2sdk"
23
25
"github.com/coder/coder/v2/coderd/database/dbauthz"
24
26
"github.com/coder/coder/v2/coderd/database/dbgen"
27
+ "github.com/coder/coder/v2/coderd/database/dbmock"
25
28
"github.com/coder/coder/v2/coderd/database/dbtestutil"
26
29
"github.com/coder/coder/v2/coderd/database/dbtime"
27
30
"github.com/coder/coder/v2/coderd/notifications"
@@ -204,14 +207,15 @@ func defaultIPAddress() pqtype.Inet {
204
207
}
205
208
206
209
func (s * MethodTestSuite )TestAPIKey () {
207
- s .Run ("DeleteAPIKeyByID" ,s .Subtest (func (db database.Store ,check * expects ) {
208
- dbtestutil .DisableForeignKeysAndTriggers (s .T (),db )
209
- key ,_ := dbgen .APIKey (s .T (),db , database.APIKey {})
210
+ s .Run ("DeleteAPIKeyByID" ,s .Mocked (func (dbm * dbmock.MockStore ,faker * gofakeit.Faker ,check * expects ) {
211
+ key := testutil .Fake (s .T (),faker , database.APIKey {})
212
+ dbm .EXPECT ().GetAPIKeyByID (gomock .Any (),key .ID ).Return (key ,nil ).AnyTimes ()
213
+ dbm .EXPECT ().DeleteAPIKeyByID (gomock .Any (),key .ID ).Return (nil ).AnyTimes ()
210
214
check .Args (key .ID ).Asserts (key ,policy .ActionDelete ).Returns ()
211
215
}))
212
- s .Run ("GetAPIKeyByID" ,s .Subtest (func (db database. Store ,check * expects ) {
213
- dbtestutil . DisableForeignKeysAndTriggers (s .T (),db )
214
- key , _ := dbgen . APIKey ( s . T ( ),db , database. APIKey {} )
216
+ s .Run ("GetAPIKeyByID" ,s .Mocked (func (dbm * dbmock. MockStore , faker * gofakeit. Faker ,check * expects ) {
217
+ key := testutil . Fake (s .T (),faker , database. APIKey {} )
218
+ dbm . EXPECT (). GetAPIKeyByID ( gomock . Any ( ),key . ID ). Return ( key , nil ). AnyTimes ( )
215
219
check .Args (key .ID ).Asserts (key ,policy .ActionRead ).Returns (key )
216
220
}))
217
221
s .Run ("GetAPIKeyByName" ,s .Subtest (func (db database.Store ,check * expects ) {
@@ -234,14 +238,12 @@ func (s *MethodTestSuite) TestAPIKey() {
234
238
Asserts (a ,policy .ActionRead ,b ,policy .ActionRead ).
235
239
Returns (slice .New (a ,b ))
236
240
}))
237
- s .Run ("GetAPIKeysByUserID" ,s .Subtest (func (db database.Store ,check * expects ) {
238
- u1 := dbgen .User (s .T (),db , database.User {})
239
- u2 := dbgen .User (s .T (),db , database.User {})
240
-
241
- keyA ,_ := dbgen .APIKey (s .T (),db , database.APIKey {UserID :u1 .ID ,LoginType :database .LoginTypeToken ,TokenName :"key-a" })
242
- keyB ,_ := dbgen .APIKey (s .T (),db , database.APIKey {UserID :u1 .ID ,LoginType :database .LoginTypeToken ,TokenName :"key-b" })
243
- _ ,_ = dbgen .APIKey (s .T (),db , database.APIKey {UserID :u2 .ID ,LoginType :database .LoginTypeToken })
241
+ s .Run ("GetAPIKeysByUserID" ,s .Mocked (func (dbm * dbmock.MockStore ,faker * gofakeit.Faker ,check * expects ) {
242
+ u1 := testutil .Fake (s .T (),faker , database.User {})
243
+ keyA := testutil .Fake (s .T (),faker , database.APIKey {UserID :u1 .ID ,LoginType :database .LoginTypeToken ,TokenName :"key-a" })
244
+ keyB := testutil .Fake (s .T (),faker , database.APIKey {UserID :u1 .ID ,LoginType :database .LoginTypeToken ,TokenName :"key-b" })
244
245
246
+ dbm .EXPECT ().GetAPIKeysByUserID (gomock .Any (),gomock .Any ()).Return (slice .New (keyA ,keyB ),nil ).AnyTimes ()
245
247
check .Args (database.GetAPIKeysByUserIDParams {LoginType :database .LoginTypeToken ,UserID :u1 .ID }).
246
248
Asserts (keyA ,policy .ActionRead ,keyB ,policy .ActionRead ).
247
249
Returns (slice .New (keyA ,keyB ))