| 147 | } |
| 148 | |
| 149 | func (c *Client) ConnectRPC29(ctx context.Context) ( |
| 150 | agentproto.DRPCAgentClient29, proto.DRPCTailnetClient28, error, |
| 151 | ) { |
| 152 | conn, lis := drpcsdk.MemTransportPipe() |
| 153 | c.LastWorkspaceAgent = func() { |
| 154 | _ = conn.Close() |
| 155 | _ = lis.Close() |
| 156 | } |
| 157 | c.t.Cleanup(c.LastWorkspaceAgent) |
| 158 | serveCtx, cancel := context.WithCancel(ctx) |
| 159 | c.t.Cleanup(cancel) |
| 160 | streamID := tailnet.StreamID{ |
| 161 | Name: "agenttest", |
| 162 | ID: c.agentID, |
| 163 | Auth: tailnet.AgentCoordinateeAuth{ID: c.agentID}, |
| 164 | } |
| 165 | serveCtx = tailnet.WithStreamID(serveCtx, streamID) |
| 166 | go func() { |
| 167 | _ = c.server.Serve(serveCtx, lis) |
| 168 | }() |
| 169 | return agentproto.NewDRPCAgentClient(conn), proto.NewDRPCTailnetClient(conn), nil |
| 170 | } |
| 171 | |
| 172 | func (c *Client) GetLifecycleStates() []codersdk.WorkspaceAgentLifecycle { |
| 173 | return c.fakeAgentAPI.GetLifecycleStates() |