mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: only display license warnings to privileged users (#10096)
This commit is contained in:
@@ -254,6 +254,7 @@ func newFakeLicenseAPI(t *testing.T) http.Handler {
|
||||
r.Post("/api/v2/licenses", a.postLicense)
|
||||
r.Get("/api/v2/licenses", a.licenses)
|
||||
r.Get("/api/v2/buildinfo", a.noop)
|
||||
r.Get("/api/v2/users/me", a.noop)
|
||||
r.Delete("/api/v2/licenses/{id}", a.deleteLicense)
|
||||
r.Get("/api/v2/entitlements", a.entitlements)
|
||||
return r
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
package cli_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/coder/coder/v2/cli/clibase"
|
||||
"github.com/coder/coder/v2/cli/clitest"
|
||||
"github.com/coder/coder/v2/cli/config"
|
||||
"github.com/coder/coder/v2/coderd/coderdtest"
|
||||
"github.com/coder/coder/v2/enterprise/cli"
|
||||
"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
|
||||
)
|
||||
|
||||
func newCLI(t *testing.T, args ...string) (*clibase.Invocation, config.Root) {
|
||||
@@ -27,3 +31,49 @@ func TestEnterpriseHandlersOK(t *testing.T) {
|
||||
|
||||
clitest.HandlersOK(t, cmd)
|
||||
}
|
||||
|
||||
func TestCheckWarnings(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
t.Run("LicenseWarningForPrivilegedRoles", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
client, _ := coderdenttest.New(t, &coderdenttest.Options{
|
||||
LicenseOptions: &coderdenttest.LicenseOptions{
|
||||
ExpiresAt: time.Now().Add(time.Hour * 24),
|
||||
},
|
||||
})
|
||||
|
||||
inv, conf := newCLI(t, "list")
|
||||
|
||||
var buf bytes.Buffer
|
||||
inv.Stderr = &buf
|
||||
clitest.SetupConfig(t, client, conf)
|
||||
|
||||
err := inv.Run()
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Contains(t, buf.String(), "Your license expires in 1 day.")
|
||||
})
|
||||
|
||||
t.Run("NoLicenseWarningForRegularUser", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
adminClient, admin := coderdenttest.New(t, &coderdenttest.Options{
|
||||
LicenseOptions: &coderdenttest.LicenseOptions{
|
||||
ExpiresAt: time.Now().Add(time.Hour * 24),
|
||||
},
|
||||
})
|
||||
|
||||
client, _ := coderdtest.CreateAnotherUser(t, adminClient, admin.OrganizationID)
|
||||
|
||||
inv, conf := newCLI(t, "list")
|
||||
|
||||
var buf bytes.Buffer
|
||||
inv.Stderr = &buf
|
||||
clitest.SetupConfig(t, client, conf)
|
||||
|
||||
err := inv.Run()
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NotContains(t, buf.String(), "Your license expires")
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user