mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
fix: exclude service accounts from license seat count (#24401)
This commit is contained in:
@@ -2168,6 +2168,41 @@ func TestInsertUserServiceAccountConstraints(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetActiveUserCount(t *testing.T) {
|
||||
t.Parallel()
|
||||
if testing.Short() {
|
||||
t.SkipNow()
|
||||
}
|
||||
|
||||
db, _ := dbtestutil.NewDB(t)
|
||||
ctx := testutil.Context(t, testutil.WaitLong)
|
||||
|
||||
// Seed users: 2 active humans, 1 active service account,
|
||||
// 1 dormant, 1 deleted. Only the 2 active humans should
|
||||
// be counted for license seat purposes.
|
||||
_ = dbgen.User(t, db, database.User{
|
||||
Status: database.UserStatusActive,
|
||||
})
|
||||
_ = dbgen.User(t, db, database.User{
|
||||
Status: database.UserStatusActive,
|
||||
})
|
||||
_ = dbgen.User(t, db, database.User{
|
||||
Status: database.UserStatusActive,
|
||||
IsServiceAccount: true,
|
||||
})
|
||||
_ = dbgen.User(t, db, database.User{
|
||||
Status: database.UserStatusDormant,
|
||||
})
|
||||
_ = dbgen.User(t, db, database.User{
|
||||
Status: database.UserStatusActive,
|
||||
Deleted: true,
|
||||
})
|
||||
|
||||
count, err := db.GetActiveUserCount(ctx, false)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, int64(2), count)
|
||||
}
|
||||
|
||||
func TestUserChangeLoginType(t *testing.T) {
|
||||
t.Parallel()
|
||||
if testing.Short() {
|
||||
|
||||
@@ -25552,6 +25552,7 @@ FROM
|
||||
users
|
||||
WHERE
|
||||
status = 'active'::user_status AND deleted = false
|
||||
AND is_service_account = false
|
||||
AND CASE WHEN $1::bool THEN TRUE ELSE is_system = false END
|
||||
`
|
||||
|
||||
|
||||
@@ -78,6 +78,7 @@ FROM
|
||||
users
|
||||
WHERE
|
||||
status = 'active'::user_status AND deleted = false
|
||||
AND is_service_account = false
|
||||
AND CASE WHEN @include_system::bool THEN TRUE ELSE is_system = false END;
|
||||
|
||||
-- name: InsertUser :one
|
||||
|
||||
Reference in New Issue
Block a user