8000 fix dbauthz tests · coder/coder@6d15a32 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6d15a32

Browse files
committed
fix dbauthz tests
1 parent 52620ce commit 6d15a32

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2414,7 +2414,7 @@ func (q *querier) GetUserNotificationPreferences(ctx context.Context, userID uui
24142414
}
24152415

24162416
func (q *querier) GetUserStatusCountsByDay(ctx context.Context, arg database.GetUserStatusCountsByDayParams) ([]database.GetUserStatusCountsByDayRow, error) {
2417-
if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceSystem); err != nil {
2417+
if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceUser); err != nil {
24182418
return nil, err
24192419
}
24202420
return q.db.GetUserStatusCountsByDay(ctx, arg)

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,6 +1490,12 @@ func (s *MethodTestSuite) TestUser() {
14901490
rbac.ResourceTemplate.InOrg(orgID), policy.ActionRead,
14911491
)
14921492
}))
1493+
s.Run("GetUserStatusCountsByDay", s.Subtest(func(db database.Store, check *expects) {
1494+
check.Args(database.GetUserStatusCountsByDayParams{
1495+
StartTime: time.Now().Add(-time.Hour * 24 * 30),
1496+
EndTime: time.Now(),
1497+
}).Asserts(rbac.ResourceUser, policy.ActionRead)
1498+
}))
14931499
}
14941500

14951501
func (s *MethodTestSuite) TestWorkspace() {

coderd/database/dbmem/dbmem.go

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ func New() database.Store {
8888
customRoles: make([]database.CustomRole, 0),
8989
locks: map[int64]struct{}{},
9090
runtimeConfig: map[string]string{},
91+
userStatusChanges: make([]database.UserStatusChange, 0),
9192
},
9293
}
9394
// Always start with a default org. Matching migration 198.
@@ -256,6 +257,7 @@ type data struct {
256257
lastLicenseID int32
257258
defaultProxyDisplayName string
258259
defaultProxyIconURL string
260+
userStatusChanges []database.UserStatusChange
259261
}
260262

261263
func tryPercentile(fs []float64, p float64) float64 {
@@ -5673,7 +5675,21 @@ func (q *FakeQuerier) GetUserStatusCountsByDay(_ context.Context, arg database.G
56735675
return nil, err
56745676
}
56755677

5676-
panic("not implemented")
5678+
result := make([]database.GetUserStatusCountsByDayRow, 0)
5679+
for _, change := range q.userStatusChanges {
5680+
if change.ChangedAt.Before(arg.StartTime) || change.ChangedAt.After(arg.EndTime) {
5681+
continue
5682+
}
5683+
result = append(result, database.GetUserStatusCountsByDayRow{
5684+
Status: database.NullUserStatus{
5685+
UserStatus: change.NewStatus,
5686+
Valid: true,
5687+
},
5688+
Count: 1,
5689+
})
5690+
}
5691+
5692+
return result, nil
56775693
}
56785694

56795695
func (q *FakeQuerier) GetUserWorkspaceBuildParameters(_ context.Context, params database.GetUserWorkspaceBuildParametersParams) ([]database.GetUserWorkspaceBuildParametersRow, error) {
@@ -8028,6 +8044,12 @@ func (q *FakeQuerier) InsertUser(_ context.Context, arg database.InsertUserParam
80288044
sort.Slice(q.users, func(i, j int) bool {
80298045
return q.users[i].CreatedAt.Before(q.users[j].CreatedAt)
80308046
})
8047+
8048+
q.userStatusChanges = append(q.userStatusChanges, database.UserStatusChange{
8049+
UserID: user.ID,
8050+
NewStatus: user.Status,
8051+
ChangedAt: user.UpdatedAt,
8052+
})
80318053
return user, nil
80328054
}
80338055

@@ -9064,12 +9086,18 @@ func (q *FakeQuerier) UpdateInactiveUsersToDormant(_ context.Context, params dat
90649086
Username: user.Username,
90659087
LastSeenAt: user.LastSeenAt,
90669088
})
9089+
q.userStatusChanges = append(q.userStatusChanges, database.UserStatusChange{
9090+
UserID: user.ID,
9091+
NewStatus: database.UserStatusDormant,
9092+
ChangedAt: params.UpdatedAt,
9093+
})
90679094
}
90689095
}
90699096

90709097
if len(updated) == 0 {
90719098
return nil, sql.ErrNoRows
90729099
}
9100+
90739101
return updated, nil
90749102
}
90759103

@@ -9870,6 +9898,12 @@ func (q *FakeQuerier) UpdateUserStatus(_ context.Context, arg database.UpdateUse
98709898
user.Status = arg.Status
98719899
user.UpdatedAt = arg.UpdatedAt
98729900
q.users[index] = user
9901+
9902+
q.userStatusChanges = append(q.userStatusChanges, database.UserStatusChange{
9903+
UserID: user.ID,
9904+
NewStatus: user.Status,
9905+
ChangedAt: user.UpdatedAt,
9906+
})
98739907
return user, nil
98749908
}
98759909
return database.User{}, sql.ErrNoRows

0 commit comments

Comments
 (0)
0