Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3049a56

Browse files
authored
fix: Use the maximum number of users for a license warning (#4410)
This was causing a banner on dev.coder.com. But now we have a test!
1 parent915bb41 commit3049a56

File tree

3 files changed

+39
-6
lines changed

3 files changed

+39
-6
lines changed

‎cli/cliui/table.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ func DisplayTable(out any, sort string, filterColumns []string) (string, error)
158158
ifval!=nil {
159159
v=val.Format(time.RFC3339)
160160
}
161+
case*int64:
162+
ifval!=nil {
163+
v=*val
164+
}
161165
case fmt.Stringer:
162166
ifval!=nil {
163167
v=val.String()

‎enterprise/coderd/license/license.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,17 @@ func Entitlements(ctx context.Context, db database.Store, logger slog.Logger, ke
6060
entitlement=codersdk.EntitlementGracePeriod
6161
}
6262
ifclaims.Features.UserLimit>0 {
63+
limit:=claims.Features.UserLimit
64+
priorLimit:=entitlements.Features[codersdk.FeatureUserLimit]
65+
ifpriorLimit.Limit!=nil&&*priorLimit.Limit>limit {
66+
limit=*priorLimit.Limit
67+
}
6368
entitlements.Features[codersdk.FeatureUserLimit]= codersdk.Feature{
6469
Enabled:true,
6570
Entitlement:entitlement,
66-
Limit:&claims.Features.UserLimit,
71+
Limit:&limit,
6772
Actual:&activeUserCount,
6873
}
69-
ifactiveUserCount>claims.Features.UserLimit {
70-
entitlements.Warnings=append(entitlements.Warnings,fmt.Sprintf(
71-
"Your deployment has %d active users but is only licensed for %d.",
72-
activeUserCount,claims.Features.UserLimit))
73-
}
7474
}
7575
ifclaims.Features.AuditLog>0 {
7676
entitlements.Features[codersdk.FeatureAuditLog]= codersdk.Feature{
@@ -114,6 +114,13 @@ func Entitlements(ctx context.Context, db database.Store, logger slog.Logger, ke
114114
}
115115

116116
ifentitlements.HasLicense {
117+
userLimit:=entitlements.Features[codersdk.FeatureUserLimit].Limit
118+
ifuserLimit!=nil&&activeUserCount>*userLimit {
119+
entitlements.Warnings=append(entitlements.Warnings,fmt.Sprintf(
120+
"Your deployment has %d active users but is only licensed for %d.",
121+
activeUserCount,*userLimit))
122+
}
123+
117124
for_,featureName:=rangecodersdk.FeatureNames {
118125
// The user limit has it's own warnings!
119126
iffeatureName==codersdk.FeatureUserLimit {

‎enterprise/coderd/license/license_test.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,28 @@ func TestEntitlements(t *testing.T) {
141141
require.True(t,entitlements.HasLicense)
142142
require.Contains(t,entitlements.Warnings,"Your deployment has 2 active users but is only licensed for 1.")
143143
})
144+
t.Run("MaximizeUserLimit",func(t*testing.T) {
145+
t.Parallel()
146+
db:=databasefake.New()
147+
db.InsertUser(context.Background(), database.InsertUserParams{})
148+
db.InsertUser(context.Background(), database.InsertUserParams{})
149+
db.InsertLicense(context.Background(), database.InsertLicenseParams{
150+
JWT:coderdenttest.GenerateLicense(t, coderdenttest.LicenseOptions{
151+
UserLimit:10,
152+
}),
153+
Exp:time.Now().Add(time.Hour),
154+
})
155+
db.InsertLicense(context.Background(), database.InsertLicenseParams{
156+
JWT:coderdenttest.GenerateLicense(t, coderdenttest.LicenseOptions{
157+
UserLimit:1,
158+
}),
159+
Exp:time.Now().Add(time.Hour),
160+
})
161+
entitlements,err:=license.Entitlements(context.Background(),db, slog.Logger{},coderdenttest.Keys,map[string]bool{})
162+
require.NoError(t,err)
163+
require.True(t,entitlements.HasLicense)
164+
require.Empty(t,entitlements.Warnings)
165+
})
144166
t.Run("MultipleLicenseEnabled",func(t*testing.T) {
145167
t.Parallel()
146168
db:=databasefake.New()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp