| 277 | } |
| 278 | |
| 279 | func TestHandleDesktopVNC_StartError(t *testing.T) { |
| 280 | t.Parallel() |
| 281 | |
| 282 | logger := slogtest.Make(t, nil) |
| 283 | fake := &fakeDesktop{startErr: xerrors.New("no desktop")} |
| 284 | api := agentdesktop.NewAPI(logger, fake, nil) |
| 285 | defer api.Close() |
| 286 | |
| 287 | rr := httptest.NewRecorder() |
| 288 | req := httptest.NewRequest(http.MethodGet, "/vnc", nil) |
| 289 | |
| 290 | handler := api.Routes() |
| 291 | handler.ServeHTTP(rr, req) |
| 292 | |
| 293 | assert.Equal(t, http.StatusInternalServerError, rr.Code) |
| 294 | |
| 295 | var resp codersdk.Response |
| 296 | err := json.NewDecoder(rr.Body).Decode(&resp) |
| 297 | require.NoError(t, err) |
| 298 | assert.Equal(t, "Failed to start desktop session.", resp.Message) |
| 299 | } |
| 300 | |
| 301 | func TestHandleAction_CallsRecordActivity(t *testing.T) { |
| 302 | t.Parallel() |