1
1
package cli_test
2
2
3
3
import (
4
+ "bytes"
4
5
"testing"
6
+ "time"
5
7
6
8
"github.com/stretchr/testify/require"
7
9
8
10
"github.com/coder/coder/v2/cli/clibase"
9
11
"github.com/coder/coder/v2/cli/clitest"
10
12
"github.com/coder/coder/v2/cli/config"
13
+ "github.com/coder/coder/v2/coderd/coderdtest"
11
14
"github.com/coder/coder/v2/enterprise/cli"
15
+ "github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
12
16
)
13
17
14
18
func newCLI (t * testing.T , args ... string ) (* clibase.Invocation , config.Root ) {
@@ -27,3 +31,49 @@ func TestEnterpriseHandlersOK(t *testing.T) {
27
31
28
32
clitest .HandlersOK (t , cmd )
29
33
}
34
+
35
+ func TestCheckWarnings (t * testing.T ) {
36
+ t .Parallel ()
37
+
38
+ t .Run ("LicenseWarningForPrivilegedRoles" , func (t * testing.T ) {
39
+ t .Parallel ()
40
+ client , _ := coderdenttest .New (t , & coderdenttest.Options {
41
+ LicenseOptions : & coderdenttest.LicenseOptions {
42
+ ExpiresAt : time .Now ().Add (time .Hour * 24 ),
43
+ },
44
+ })
45
+
46
+ inv , conf := newCLI (t , "list" )
47
+
48
+ var buf bytes.Buffer
49
+ inv .Stderr = & buf
50
+ clitest .SetupConfig (t , client , conf )
51
+
52
+ err := inv .Run ()
53
+ require .NoError (t , err )
54
+
55
+ require .Contains (t , buf .String (), "Your license expires in 1 day." )
56
+ })
57
+
58
+ t .Run ("NoLicenseWarningForRegularUser" , func (t * testing.T ) {
59
+ t .Parallel ()
60
+ adminClient , admin := coderdenttest .New (t , & coderdenttest.Options {
61
+ LicenseOptions : & coderdenttest.LicenseOptions {
62
+ ExpiresAt : time .Now ().Add (time .Hour * 24 ),
63
+ },
64
+ })
65
+
66
+ client , _ := coderdtest .CreateAnotherUser (t , adminClient , admin .OrganizationID )
67
+
68
+ inv , conf := newCLI (t , "list" )
69
+
70
+ var buf bytes.Buffer
71
+ inv .Stderr = & buf
72
+ clitest .SetupConfig (t , client , conf )
73
+
74
+ err := inv .Run ()
75
+ require .NoError (t , err )
76
+
77
+ require .NotContains (t , buf .String (), "Your license expires" )
78
+ })
79
+ }
0 commit comments