12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package container // import "github.com/docker/docker/integration/container"
- import (
- "context"
- "net/http"
- "testing"
- "time"
- "github.com/docker/docker/api/types"
- "github.com/docker/docker/api/types/versions"
- "github.com/docker/docker/integration/internal/container"
- req "github.com/docker/docker/internal/test/request"
- "gotest.tools/assert"
- is "gotest.tools/assert/cmp"
- "gotest.tools/poll"
- "gotest.tools/skip"
- )
- func TestResize(t *testing.T) {
- skip.If(t, testEnv.OSType == "windows", "FIXME")
- defer setupTest(t)()
- client := testEnv.APIClient()
- ctx := context.Background()
- cID := container.Run(t, ctx, client)
- poll.WaitOn(t, container.IsInState(ctx, client, cID, "running"), poll.WithDelay(100*time.Millisecond))
- err := client.ContainerResize(ctx, cID, types.ResizeOptions{
- Height: 40,
- Width: 40,
- })
- assert.NilError(t, err)
- }
- func TestResizeWithInvalidSize(t *testing.T) {
- skip.If(t, versions.LessThan(testEnv.DaemonAPIVersion(), "1.32"), "broken in earlier versions")
- skip.If(t, testEnv.OSType == "windows", "FIXME")
- defer setupTest(t)()
- client := testEnv.APIClient()
- ctx := context.Background()
- cID := container.Run(t, ctx, client)
- poll.WaitOn(t, container.IsInState(ctx, client, cID, "running"), poll.WithDelay(100*time.Millisecond))
- endpoint := "/containers/" + cID + "/resize?h=foo&w=bar"
- res, _, err := req.Post(endpoint)
- assert.NilError(t, err)
- assert.Check(t, is.DeepEqual(http.StatusBadRequest, res.StatusCode))
- }
- func TestResizeWhenContainerNotStarted(t *testing.T) {
- defer setupTest(t)()
- client := testEnv.APIClient()
- ctx := context.Background()
- cID := container.Run(t, ctx, client, container.WithCmd("echo"))
- poll.WaitOn(t, container.IsInState(ctx, client, cID, "exited"), poll.WithDelay(100*time.Millisecond))
- err := client.ContainerResize(ctx, cID, types.ResizeOptions{
- Height: 40,
- Width: 40,
- })
- assert.Check(t, is.ErrorContains(err, "is not running"))
- }
|