@@ -15,6 +15,13 @@ import (
15
15
"sync/atomic"
16
16
"testing"
17
17
18
+ "cdr.dev/slog"
19
+ "cdr.dev/slog/sloggers/slogtest"
20
+
21
+ "github.com/coder/coder/v2/agent"
22
+ "github.com/coder/coder/v2/codersdk/agentsdk"
23
+ "github.com/stretchr/testify/assert"
24
+
18
25
"github.com/gliderlabs/ssh"
19
26
"github.com/google/uuid"
20
27
"github.com/stretchr/testify/require"
@@ -28,7 +35,7 @@ import (
28
35
"github.com/coder/coder/v2/testutil"
29
36
)
30
37
31
- func prepareTestGitSSH (ctx context.Context , t * testing.T ) (* codersdk .Client , string , gossh.PublicKey ) {
38
+ func prepareTestGitSSH (ctx context.Context , t * testing.T ) (* agentsdk .Client , string , gossh.PublicKey ) {
32
39
t .Helper ()
33
40
34
41
client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
@@ -57,12 +64,20 @@ func prepareTestGitSSH(ctx context.Context, t *testing.T) (*codersdk.Client, str
57
64
coderdtest .AwaitWorkspaceBuildJob (t , client , workspace .LatestBuild .ID )
58
65
59
66
// start workspace agent
60
- inv , root := clitest . New (t , "agent" , "--agent-token" , agentToken , "--agent-url" , client . URL . String () )
61
- agentClient := codersdk .New (client .URL )
67
+ agentLog := slogtest . Make (t , nil ). Leveled ( slog . LevelDebug ). Named ( "agent" )
68
+ agentClient := agentsdk .New (client .URL )
62
69
agentClient .SetSessionToken (agentToken )
63
- clitest .SetupConfig (t , agentClient , root )
64
- clitest .Start (t , inv )
65
-
70
+ agt := agent .New (agent.Options {
71
+ Client : agentClient ,
72
+ Logger : agentLog ,
73
+ LogDir : t .TempDir (),
74
+ ExchangeToken : func (_ context.Context ) (string , error ) {
75
+ return agentToken , nil
76
+ },
77
+ })
78
+ t .Cleanup (func () {
79
+ assert .NoError (t , agt .Close (), "failed to close agent in cleanup" )
80
+ })
66
81
coderdtest .AwaitWorkspaceAgents (t , client , workspace .ID )
67
82
return agentClient , agentToken , pubkey
68
83
}
@@ -140,7 +155,7 @@ func TestGitSSH(t *testing.T) {
140
155
// set to agent config dir
141
156
inv , _ := clitest .New (t ,
142
157
"gitssh" ,
143
- "--agent-url" , client .URL .String (),
158
+ "--agent-url" , client .SDK . URL .String (),
144
159
"--agent-token" , token ,
145
160
"--" ,
146
161
fmt .Sprintf ("-p%d" , addr .Port ),
@@ -203,7 +218,7 @@ func TestGitSSH(t *testing.T) {
203
218
pty := ptytest .New (t )
204
219
cmdArgs := []string {
205
220
"gitssh" ,
206
- "--agent-url" , client .URL .String (),
221
+ "--agent-url" , client .SDK . URL .String (),
207
222
"--agent-token" , token ,
208
223
"--" ,
209
224
"-F" , config ,
0 commit comments