docker/integration-cli/docker_api_resize_test.go

59 строки
1.6 KiB
Go

package main
import (
"context"
"net/http"
"strings"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
"github.com/docker/docker/integration-cli/checker"
"github.com/docker/docker/integration-cli/request"
"github.com/go-check/check"
)
func (s *DockerSuite) TestResizeAPIResponse(c *check.C) {
out := runSleepingContainer(c, "-d")
cleanedContainerID := strings.TrimSpace(out)
cli, err := client.NewEnvClient()
c.Assert(err, checker.IsNil)
defer cli.Close()
options := types.ResizeOptions{
Height: 40,
Width: 40,
}
err = cli.ContainerResize(context.Background(), cleanedContainerID, options)
c.Assert(err, check.IsNil)
}
func (s *DockerSuite) TestResizeAPIHeightWidthNoInt(c *check.C) {
out := runSleepingContainer(c, "-d")
cleanedContainerID := strings.TrimSpace(out)
endpoint := "/containers/" + cleanedContainerID + "/resize?h=foo&w=bar"
res, _, err := request.Post(endpoint)
c.Assert(res.StatusCode, check.Equals, http.StatusBadRequest)
c.Assert(err, check.IsNil)
}
func (s *DockerSuite) TestResizeAPIResponseWhenContainerNotStarted(c *check.C) {
out, _ := dockerCmd(c, "run", "-d", "busybox", "true")
cleanedContainerID := strings.TrimSpace(out)
// make sure the exited container is not running
dockerCmd(c, "wait", cleanedContainerID)
cli, err := client.NewEnvClient()
c.Assert(err, checker.IsNil)
defer cli.Close()
options := types.ResizeOptions{
Height: 40,
Width: 40,
}
err = cli.ContainerResize(context.Background(), cleanedContainerID, options)
c.Assert(err.Error(), checker.Contains, "is not running")
}