@@ -14,30 +14,61 @@ import (
14
14
15
15
func TestTokens (t * testing.T ) {
16
16
t .Parallel ()
17
- ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
18
- defer cancel ()
19
- client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
20
- _ = coderdtest .CreateFirstUser (t , client )
21
- keys , err := client .GetTokens (ctx , codersdk .Me )
22
- require .NoError (t , err )
23
- require .Empty (t , keys )
24
17
25
- res , err := client .CreateToken (ctx , codersdk .Me )
26
- require .NoError (t , err )
27
- require .Greater (t , len (res .Key ), 2 )
18
+ t .Run ("CRUD" , func (t * testing.T ) {
19
+ t .Parallel ()
28
20
29
- keys , err = client .GetTokens (ctx , codersdk .Me )
30
- require .NoError (t , err )
31
- require .EqualValues (t , len (keys ), 1 )
32
- require .Contains (t , res .Key , keys [0 ].ID )
33
- // expires_at must be greater than 50 years
34
- require .Greater (t , keys [0 ].ExpiresAt , time .Now ().Add (time .Hour * 438300 ))
21
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
22
+ defer cancel ()
23
+ client := coderdtest .New (t , nil )
24
+ _ = coderdtest .CreateFirstUser (t , client )
25
+ keys , err := client .GetTokens (ctx , codersdk .Me )
26
+ require .NoError (t , err )
27
+ require .Empty (t , keys )
35
28
36
- err = client .DeleteAPIKey (ctx , codersdk .Me , keys [0 ].ID )
37
- require .NoError (t , err )
38
- keys , err = client .GetTokens (ctx , codersdk .Me )
39
- require .NoError (t , err )
40
- require .Empty (t , keys )
29
+ res , err := client .CreateToken (ctx , codersdk .Me , codersdk.CreateTokenRequest {})
30
+ require .NoError (t , err )
31
+ require .Greater (t , len (res .Key ), 2 )
32
+
33
+ keys , err = client .GetTokens (ctx , codersdk .Me )
34
+ require .NoError (t , err )
35
+ require .EqualValues (t , len (keys ), 1 )
36
+ require .Contains (t , res .Key , keys [0 ].ID )
37
+ // expires_at must be greater than 50 years
38
+ require .Greater (t , keys [0 ].ExpiresAt , time .Now ().Add (time .Hour * 438300 ))
39
+ require .Equal (t , codersdk .APIKeyScopeAll , keys [0 ].Scope )
40
+
41
+ // no update
42
+
43
+ err = client .DeleteAPIKey (ctx , codersdk .Me , keys [0 ].ID )
44
+ require .NoError (t , err )
45
+ keys , err = client .GetTokens (ctx , codersdk .Me )
46
+ require .NoError (t , err )
47
+ require .Empty (t , keys )
48
+ })
49
+
50
+ t .Run ("Scoped" , func (t * testing.T ) {
51
+ t .Parallel ()
52
+
53
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
54
+ defer cancel ()
55
+ client := coderdtest .New (t , nil )
56
+ _ = coderdtest .CreateFirstUser (t , client )
57
+
58
+ res , err := client .CreateToken (ctx , codersdk .Me , codersdk.CreateTokenRequest {
59
+ Scope : codersdk .APIKeyScopeApplicationConnect ,
60
+ })
61
+ require .NoError (t , err )
62
+ require .Greater (t , len (res .Key ), 2 )
63
+
64
+ keys , err := client .GetTokens (ctx , codersdk .Me )
65
+ require .NoError (t , err )
66
+ require .EqualValues (t , len (keys ), 1 )
67
+ require .Contains (t , res .Key , keys [0 ].ID )
68
+ // expires_at must be greater than 50 years
69
+ require .Greater (t , keys [0 ].ExpiresAt , time .Now ().Add (time .Hour * 438300 ))
70
+ require .Equal (t , keys [0 ].Scope , codersdk .APIKeyScopeApplicationConnect )
71
+ })
41
72
}
42
73
43
74
func TestAPIKey (t * testing.T ) {
0 commit comments