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

Function TestHandleAction_Screenshot

agent/x/agentdesktop/api_test.go:332–371  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

330}
331
332func TestHandleAction_Screenshot(t *testing.T) {
333 t.Parallel()
334
335 logger := slogtest.Make(t, nil)
336 geometry := workspacesdk.DefaultDesktopGeometry()
337 fake := &fakeDesktop{
338 startCfg: agentdesktop.DisplayConfig{
339 Width: geometry.NativeWidth,
340 Height: geometry.NativeHeight,
341 },
342 screenshotRes: agentdesktop.ScreenshotResult{Data: "base64data"},
343 }
344 api := agentdesktop.NewAPI(logger, fake, nil)
345 defer api.Close()
346
347 body := agentdesktop.DesktopAction{Action: "screenshot"}
348 b, err := json.Marshal(body)
349 require.NoError(t, err)
350
351 rr := httptest.NewRecorder()
352 req := httptest.NewRequest(http.MethodPost, "/action", bytes.NewReader(b))
353 req.Header.Set("Content-Type", "application/json")
354
355 handler := api.Routes()
356 handler.ServeHTTP(rr, req)
357
358 assert.Equal(t, http.StatusOK, rr.Code)
359
360 var result agentdesktop.DesktopActionResponse
361 err = json.NewDecoder(rr.Body).Decode(&result)
362 require.NoError(t, err)
363 assert.Equal(t, "screenshot", result.Output)
364 assert.Equal(t, "base64data", result.ScreenshotData)
365 assert.Equal(t, geometry.NativeWidth, result.ScreenshotWidth)
366 assert.Equal(t, geometry.NativeHeight, result.ScreenshotHeight)
367 assert.Equal(t, agentdesktop.ScreenshotOptions{
368 TargetWidth: geometry.NativeWidth,
369 TargetHeight: geometry.NativeHeight,
370 }, fake.lastShotOpts)
371}
372
373func TestHandleAction_ScreenshotUsesDeclaredDimensionsFromRequest(t *testing.T) {
374 t.Parallel()

Callers

nothing calls this directly

Calls 8

CloseMethod · 0.95
RoutesMethod · 0.95
DefaultDesktopGeometryFunction · 0.92
NewAPIFunction · 0.92
SetMethod · 0.65
MarshalMethod · 0.45
ServeHTTPMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected