github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/integration/container/resize_test.go (about) 1 package container // import "github.com/Prakhar-Agarwal-byte/moby/integration/container" 2 3 import ( 4 "net/http" 5 "testing" 6 7 containertypes "github.com/Prakhar-Agarwal-byte/moby/api/types/container" 8 "github.com/Prakhar-Agarwal-byte/moby/api/types/versions" 9 "github.com/Prakhar-Agarwal-byte/moby/errdefs" 10 "github.com/Prakhar-Agarwal-byte/moby/integration/internal/container" 11 req "github.com/Prakhar-Agarwal-byte/moby/testutil/request" 12 "gotest.tools/v3/assert" 13 is "gotest.tools/v3/assert/cmp" 14 "gotest.tools/v3/skip" 15 ) 16 17 func TestResize(t *testing.T) { 18 ctx := setupTest(t) 19 apiClient := testEnv.APIClient() 20 21 t.Run("success", func(t *testing.T) { 22 cID := container.Run(ctx, t, apiClient, container.WithTty(true)) 23 err := apiClient.ContainerResize(ctx, cID, containertypes.ResizeOptions{ 24 Height: 40, 25 Width: 40, 26 }) 27 assert.NilError(t, err) 28 // TODO(thaJeztah): also check if the resize happened 29 // 30 // Note: container inspect shows the initial size that was 31 // set when creating the container. Actual resize happens in 32 // containerd, and currently does not update the container's 33 // config after running (but does send a "resize" event). 34 }) 35 36 t.Run("invalid size", func(t *testing.T) { 37 skip.If(t, versions.LessThan(testEnv.DaemonAPIVersion(), "1.32"), "broken in earlier versions") 38 cID := container.Run(ctx, t, apiClient) 39 40 // Manually creating a request here, as the APIClient would invalidate 41 // these values before they're sent. 42 res, _, err := req.Post(ctx, "/containers/"+cID+"/resize?h=foo&w=bar") 43 assert.NilError(t, err) 44 assert.Check(t, is.DeepEqual(http.StatusBadRequest, res.StatusCode)) 45 }) 46 47 t.Run("invalid state", func(t *testing.T) { 48 cID := container.Create(ctx, t, apiClient, container.WithCmd("echo")) 49 err := apiClient.ContainerResize(ctx, cID, containertypes.ResizeOptions{ 50 Height: 40, 51 Width: 40, 52 }) 53 assert.Check(t, is.ErrorType(err, errdefs.IsConflict)) 54 assert.Check(t, is.ErrorContains(err, "is not running")) 55 }) 56 }