fix: exclude service accounts from license seat count (#24401)

(cherry picked from commit 341051ceee)
This commit is contained in:
Kayla はな
2026-05-13 14:55:53 -06:00
committed by github-actions[bot]
parent b98577cb91
commit 5aecde1eb7
3 changed files with 37 additions and 0 deletions
+35
View File
@@ -2188,6 +2188,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() {
+1
View File
@@ -25168,6 +25168,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
`
+1
View File
@@ -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