Skip to content

Commit 147b22d

Browse files
test: fix CI and dbmem
1 parent 122387f commit 147b22d

File tree

3 files changed

+40
-8
lines changed

3 files changed

+40
-8
lines changed

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5777,8 +5777,7 @@ func (s *MethodTestSuite) TestUserSecrets() {
57775777
UserID: user.ID,
57785778
}
57795779
check.Args(arg).
5780-
Asserts(rbac.ResourceUserSecret.WithOwner(arg.UserID.String()), policy.ActionCreate).
5781-
ErrorsWithInMemDB(dbmem.ErrUnimplemented)
5780+
Asserts(rbac.ResourceUserSecret.WithOwner(arg.UserID.String()), policy.ActionCreate)
57825781
}))
57835782
s.Run("GetUserSecret", s.Subtest(func(db database.Store, check *expects) {
57845783
user := dbgen.User(s.T(), db, database.User{})
@@ -5791,7 +5790,6 @@ func (s *MethodTestSuite) TestUserSecrets() {
57915790
}
57925791
check.Args(arg).
57935792
Asserts(rbac.ResourceUserSecret.WithOwner(arg.UserID.String()), policy.ActionRead).
5794-
ErrorsWithInMemDB(dbmem.ErrUnimplemented).
57955793
Returns(userSecret)
57965794
}))
57975795
s.Run("ListUserSecrets", s.Subtest(func(db database.Store, check *expects) {
@@ -5801,7 +5799,6 @@ func (s *MethodTestSuite) TestUserSecrets() {
58015799
})
58025800
check.Args(user.ID).
58035801
Asserts(rbac.ResourceUserSecret.WithOwner(user.ID.String()), policy.ActionRead).
5804-
ErrorsWithInMemDB(dbmem.ErrUnimplemented).
58055802
Returns([]database.UserSecret{userSecret})
58065803
}))
58075804
}

coderd/database/dbgen/dbgen.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1372,7 +1372,7 @@ func UserSecret(t testing.TB, db database.Store, seed database.InsertUserSecretP
13721372
Value: takeFirst(seed.Value, "secret value"),
13731373
ValueKeyID: takeFirst(seed.ValueKeyID, sql.NullString{}),
13741374
})
1375-
require.NoError(t, err, "insert user secret")
1375+
require.NoError(t, err, "failed to insert user secret")
13761376
return userSecret
13771377
}
13781378

coderd/database/dbmem/dbmem.go

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ func New() database.Store {
7474
presets: make([]database.TemplateVersionPreset, 0),
7575
presetParameters: make([]database.TemplateVersionPresetParameter, 0),
7676
presetPrebuildSchedules: make([]database.TemplateVersionPresetPrebuildSchedule, 0),
77+
userSecrets: make([]database.UserSecret, 0),
7778
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
7879
provisionerJobs: make([]database.ProvisionerJob, 0),
7980
provisionerJobLogs: make([]database.ProvisionerJobLog, 0),
@@ -297,6 +298,7 @@ type data struct {
297298
presets []database.TemplateVersionPreset
298299
presetParameters []database.TemplateVersionPresetParameter
299300
presetPrebuildSchedules []database.TemplateVersionPresetPrebuildSchedule
301+
userSecrets []database.UserSecret
300302
prebuildsSettings []byte
301303
}
302304

@@ -6805,7 +6807,16 @@ func (q *FakeQuerier) GetUserSecret(ctx context.Context, arg database.GetUserSec
68056807
return database.UserSecret{}, err
68066808
}
68076809

6808-
panic("not implemented")
6810+
q.mutex.RLock()
6811+
defer q.mutex.RUnlock()
6812+
6813+
for _, secret := range q.userSecrets {
6814+
if secret.UserID == arg.UserID && secret.Name == arg.Name {
6815+
return secret, nil
6816+
}
6817+
}
6818+
6819+
return database.UserSecret{}, fmt.Errorf("secret %v for user %v not found", arg.Name, arg.UserID)
68096820
}
68106821

68116822
func (q *FakeQuerier) GetUserStatusCounts(_ context.Context, arg database.GetUserStatusCountsParams) ([]database.GetUserStatusCountsRow, error) {
@@ -9725,7 +9736,21 @@ func (q *FakeQuerier) InsertUserSecret(ctx context.Context, arg database.InsertU
97259736
return database.UserSecret{}, err
97269737
}
97279738

9728-
return database.UserSecret{}, ErrUnimplemented
9739+
q.mutex.Lock()
9740+
defer q.mutex.Unlock()
9741+
9742+
userSecret := database.UserSecret{
9743+
ID: uuid.New(),
9744+
UserID: arg.UserID,
9745+
Name: arg.Name,
9746+
Description: arg.Description,
9747+
Value: arg.Value,
9748+
ValueKeyID: arg.ValueKeyID,
9749+
CreatedAt: time.Now(),
9750+
UpdatedAt: time.Now(),
9751+
}
9752+
q.userSecrets = append(q.userSecrets, userSecret)
9753+
return userSecret, nil
97299754
}
97309755

97319756
func (q *FakeQuerier) InsertVolumeResourceMonitor(_ context.Context, arg database.InsertVolumeResourceMonitorParams) (database.WorkspaceAgentVolumeResourceMonitor, error) {
@@ -10286,7 +10311,17 @@ func (q *FakeQuerier) ListProvisionerKeysByOrganizationExcludeReserved(_ context
1028610311
}
1028710312

1028810313
func (q *FakeQuerier) ListUserSecrets(ctx context.Context, userID uuid.UUID) ([]database.UserSecret, error) {
10289-
panic("not implemented")
10314+
q.mutex.RLock()
10315+
defer q.mutex.RUnlock()
10316+
10317+
filteredUserSecrets := make([]database.UserSecret, 0)
10318+
for _, secret := range q.userSecrets {
10319+
if secret.UserID == userID {
10320+
filteredUserSecrets = append(filteredUserSecrets, secret)
10321+
}
10322+
}
10323+
10324+
return filteredUserSecrets, nil
1029010325
}
1029110326

1029210327
func (q *FakeQuerier) ListWorkspaceAgentPortShares(_ context.Context, workspaceID uuid.UUID) ([]database.WorkspaceAgentPortShare, error) {

0 commit comments

Comments
 (0)