Skip to content

Commit 4818c28

Browse files
committed
test(dbauthz): migrate TestCryptoKeys to mocked db
- Convert CryptoKeys subtests to s.Mocked with gomock expectations - Return proper values for methods that return rows - Aligns with prior mocked migration groups
1 parent d3911a5 commit 4818c28

File tree

1 file changed

+40
-52
lines changed

1 file changed

+40
-52
lines changed

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 40 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -3804,58 +3804,46 @@ func (s *MethodTestSuite) TestDBCrypt() {
38043804
}
38053805

38063806
func (s *MethodTestSuite) TestCryptoKeys() {
3807-
s.Run("GetCryptoKeys", s.Subtest(func(db database.Store, check *expects) {
3808-
check.Args().
3809-
Asserts(rbac.ResourceCryptoKey, policy.ActionRead)
3810-
}))
3811-
s.Run("InsertCryptoKey", s.Subtest(func(db database.Store, check *expects) {
3812-
check.Args(database.InsertCryptoKeyParams{
3813-
Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey,
3814-
}).
3815-
Asserts(rbac.ResourceCryptoKey, policy.ActionCreate)
3816-
}))
3817-
s.Run("DeleteCryptoKey", s.Subtest(func(db database.Store, check *expects) {
3818-
key := dbgen.CryptoKey(s.T(), db, database.CryptoKey{
3819-
Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey,
3820-
Sequence: 4,
3821-
})
3822-
check.Args(database.DeleteCryptoKeyParams{
3823-
Feature: key.Feature,
3824-
Sequence: key.Sequence,
3825-
}).Asserts(rbac.ResourceCryptoKey, policy.ActionDelete)
3826-
}))
3827-
s.Run("GetCryptoKeyByFeatureAndSequence", s.Subtest(func(db database.Store, check *expects) {
3828-
key := dbgen.CryptoKey(s.T(), db, database.CryptoKey{
3829-
Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey,
3830-
Sequence: 4,
3831-
})
3832-
check.Args(database.GetCryptoKeyByFeatureAndSequenceParams{
3833-
Feature: key.Feature,
3834-
Sequence: key.Sequence,
3835-
}).Asserts(rbac.ResourceCryptoKey, policy.ActionRead).Returns(key)
3836-
}))
3837-
s.Run("GetLatestCryptoKeyByFeature", s.Subtest(func(db database.Store, check *expects) {
3838-
dbgen.CryptoKey(s.T(), db, database.CryptoKey{
3839-
Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey,
3840-
Sequence: 4,
3841-
})
3842-
check.Args(database.CryptoKeyFeatureWorkspaceAppsAPIKey).Asserts(rbac.ResourceCryptoKey, policy.ActionRead)
3843-
}))
3844-
s.Run("UpdateCryptoKeyDeletesAt", s.Subtest(func(db database.Store, check *expects) {
3845-
key := dbgen.CryptoKey(s.T(), db, database.CryptoKey{
3846-
Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey,
3847-
Sequence: 4,
3848-
})
3849-
check.Args(database.UpdateCryptoKeyDeletesAtParams{
3850-
Feature: key.Feature,
3851-
Sequence: key.Sequence,
3852-
DeletesAt: sql.NullTime{Time: time.Now(), Valid: true},
3853-
}).Asserts(rbac.ResourceCryptoKey, policy.ActionUpdate)
3854-
}))
3855-
s.Run("GetCryptoKeysByFeature", s.Subtest(func(db database.Store, check *expects) {
3856-
check.Args(database.CryptoKeyFeatureWorkspaceAppsAPIKey).
3857-
Asserts(rbac.ResourceCryptoKey, policy.ActionRead)
3858-
}))
3807+
s.Run("GetCryptoKeys", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
3808+
dbm.EXPECT().GetCryptoKeys(gomock.Any()).Return([]database.CryptoKey{}, nil).AnyTimes()
3809+
check.Args().
3810+
Asserts(rbac.ResourceCryptoKey, policy.ActionRead)
3811+
}))
3812+
s.Run("InsertCryptoKey", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
3813+
arg := database.InsertCryptoKeyParams{Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey}
3814+
dbm.EXPECT().InsertCryptoKey(gomock.Any(), arg).Return(database.CryptoKey{}, nil).AnyTimes()
3815+
check.Args(arg).
3816+
Asserts(rbac.ResourceCryptoKey, policy.ActionCreate)
3817+
}))
3818+
s.Run("DeleteCryptoKey", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
3819+
key := testutil.Fake(s.T(), faker, database.CryptoKey{Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey, Sequence: 4})
3820+
arg := database.DeleteCryptoKeyParams{Feature: key.Feature, Sequence: key.Sequence}
3821+
dbm.EXPECT().DeleteCryptoKey(gomock.Any(), arg).Return(key, nil).AnyTimes()
3822+
check.Args(arg).Asserts(rbac.ResourceCryptoKey, policy.ActionDelete)
3823+
}))
3824+
s.Run("GetCryptoKeyByFeatureAndSequence", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
3825+
key := testutil.Fake(s.T(), faker, database.CryptoKey{Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey, Sequence: 4})
3826+
arg := database.GetCryptoKeyByFeatureAndSequenceParams{Feature: key.Feature, Sequence: key.Sequence}
3827+
dbm.EXPECT().GetCryptoKeyByFeatureAndSequence(gomock.Any(), arg).Return(key, nil).AnyTimes()
3828+
check.Args(arg).Asserts(rbac.ResourceCryptoKey, policy.ActionRead).Returns(key)
3829+
}))
3830+
s.Run("GetLatestCryptoKeyByFeature", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
3831+
feature := database.CryptoKeyFeatureWorkspaceAppsAPIKey
3832+
dbm.EXPECT().GetLatestCryptoKeyByFeature(gomock.Any(), feature).Return(database.CryptoKey{}, nil).AnyTimes()
3833+
check.Args(feature).Asserts(rbac.ResourceCryptoKey, policy.ActionRead)
3834+
}))
3835+
s.Run("UpdateCryptoKeyDeletesAt", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
3836+
key := testutil.Fake(s.T(), faker, database.CryptoKey{Feature: database.CryptoKeyFeatureWorkspaceAppsAPIKey, Sequence: 4})
3837+
arg := database.UpdateCryptoKeyDeletesAtParams{Feature: key.Feature, Sequence: key.Sequence, DeletesAt: sql.NullTime{Time: time.Now(), Valid: true}}
3838+
dbm.EXPECT().UpdateCryptoKeyDeletesAt(gomock.Any(), arg).Return(key, nil).AnyTimes()
3839+
check.Args(arg).Asserts(rbac.ResourceCryptoKey, policy.ActionUpdate)
3840+
}))
3841+
s.Run("GetCryptoKeysByFeature", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
3842+
feature := database.CryptoKeyFeatureWorkspaceAppsAPIKey
3843+
dbm.EXPECT().GetCryptoKeysByFeature(gomock.Any(), feature).Return([]database.CryptoKey{}, nil).AnyTimes()
3844+
check.Args(feature).
3845+
Asserts(rbac.ResourceCryptoKey, policy.ActionRead)
3846+
}))
38593847
}
38603848

38613849
func (s *MethodTestSuite) TestSystemFunctions() {

0 commit comments

Comments
 (0)