MCPcopy Index your code
hub / github.com/coder/coder / TestWorkspaceAgentTailnet

Function TestWorkspaceAgentTailnet

coderd/workspaceagents_test.go:879–917  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

877}
878
879func TestWorkspaceAgentTailnet(t *testing.T) {
880 t.Parallel()
881 client, db := coderdtest.NewWithDatabase(t, nil)
882 user := coderdtest.CreateFirstUser(t, client)
883
884 r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
885 OrganizationID: user.OrganizationID,
886 OwnerID: user.UserID,
887 }).WithAgent().Do()
888
889 _ = agenttest.New(t, client.URL, r.AgentToken)
890 resources := coderdtest.AwaitWorkspaceAgents(t, client, r.Workspace.ID)
891
892 conn, err := func() (workspacesdk.AgentConn, error) {
893 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
894 defer cancel() // Connection should remain open even if the dial context is canceled.
895
896 return workspacesdk.New(client).
897 DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
898 Logger: testutil.Logger(t).Named("client"),
899 })
900 }()
901 require.NoError(t, err)
902 defer conn.Close()
903
904 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
905 defer cancel()
906
907 sshClient, err := conn.SSHClient(ctx)
908 require.NoError(t, err)
909 session, err := sshClient.NewSession()
910 require.NoError(t, err)
911 output, err := session.CombinedOutput("echo test")
912 require.NoError(t, err)
913 _ = session.Close()
914 _ = sshClient.Close()
915 _ = conn.Close()
916 require.Equal(t, "test", strings.TrimSpace(string(output)))
917}
918
919func TestWorkspaceAgentClientCoordinate_BadVersion(t *testing.T) {
920 t.Parallel()

Callers

nothing calls this directly

Calls 15

NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
WorkspaceBuildFunction · 0.92
NewFunction · 0.92
AwaitWorkspaceAgentsFunction · 0.92
NewFunction · 0.92
LoggerFunction · 0.92
WithAgentMethod · 0.80
NamedMethod · 0.80
NewSessionMethod · 0.80
DoMethod · 0.65
DialAgentMethod · 0.65

Tested by

no test coverage detected