diff --git a/cli/portforward_test.go b/cli/portforward_test.go index 030133a7ae..920980e72f 100644 --- a/cli/portforward_test.go +++ b/cli/portforward_test.go @@ -7,15 +7,20 @@ import ( "net" "sync" "testing" + "time" "github.com/google/uuid" "github.com/pion/udp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "cdr.dev/slog" + "cdr.dev/slog/sloggers/slogtest" + "github.com/coder/coder/v2/agent" "github.com/coder/coder/v2/cli/clitest" "github.com/coder/coder/v2/coderd/coderdtest" "github.com/coder/coder/v2/codersdk" + "github.com/coder/coder/v2/codersdk/agentsdk" "github.com/coder/coder/v2/provisioner/echo" "github.com/coder/coder/v2/pty/ptytest" "github.com/coder/coder/v2/testutil" @@ -312,24 +317,23 @@ func runAgent(t *testing.T, client *codersdk.Client, userID uuid.UUID) codersdk. workspace := coderdtest.CreateWorkspace(t, client, orgID, template.ID) coderdtest.AwaitWorkspaceBuildJob(t, client, workspace.LatestBuild.ID) - // Start workspace agent in a goroutine - inv, root := clitest.New(t, "agent", "--agent-token", agentToken, "--agent-url", client.URL.String()) - clitest.SetupConfig(t, client, root) - pty := ptytest.New(t) - inv.Stdin = pty.Input() - inv.Stdout = pty.Output() - inv.Stderr = pty.Output() - errC := make(chan error) - agentCtx, agentCancel := context.WithCancel(ctx) + logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug).Named("agent") + agentClient := agentsdk.New(client.URL) + agentClient.SDK.SetLogger(logger) + agentClient.SDK.SetSessionToken(agentToken) + agnt := agent.New(agent.Options{ + Client: agentClient, + Logger: logger, + LogDir: t.TempDir(), + ExchangeToken: func(ctx context.Context) (string, error) { + return agentToken, nil + }, + SSHMaxTimeout: time.Second * 60, + }) t.Cleanup(func() { - agentCancel() - err := <-errC - require.NoError(t, err) + err := agnt.Close() + assert.NoError(t, err) }) - go func() { - errC <- inv.WithContext(agentCtx).Run() - }() - coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID) return workspace diff --git a/cli/root_test.go b/cli/root_test.go index 68336ba23a..1a6540a76c 100644 --- a/cli/root_test.go +++ b/cli/root_test.go @@ -170,6 +170,7 @@ func TestDERPHeaders(t *testing.T) { // Connect with the headers set as args. args := []string{ + "-v", "--no-feature-warning", "--no-version-warning", "ping", workspace.Name,