github.com/fabiokung/docker@v0.11.2-0.20170222101415-4534dcd49497/integration-cli/docker_api_update_unix_test.go (about)

     1  // +build !windows
     2  
     3  package main
     4  
     5  import (
     6  	"strings"
     7  
     8  	"github.com/docker/docker/integration-cli/checker"
     9  	"github.com/docker/docker/integration-cli/request"
    10  	"github.com/go-check/check"
    11  )
    12  
    13  func (s *DockerSuite) TestAPIUpdateContainer(c *check.C) {
    14  	testRequires(c, DaemonIsLinux)
    15  	testRequires(c, memoryLimitSupport)
    16  	testRequires(c, swapMemorySupport)
    17  
    18  	name := "apiUpdateContainer"
    19  	hostConfig := map[string]interface{}{
    20  		"Memory":     314572800,
    21  		"MemorySwap": 524288000,
    22  	}
    23  	dockerCmd(c, "run", "-d", "--name", name, "-m", "200M", "busybox", "top")
    24  	_, _, err := request.SockRequest("POST", "/containers/"+name+"/update", hostConfig, daemonHost())
    25  	c.Assert(err, check.IsNil)
    26  
    27  	c.Assert(inspectField(c, name, "HostConfig.Memory"), checker.Equals, "314572800")
    28  	file := "/sys/fs/cgroup/memory/memory.limit_in_bytes"
    29  	out, _ := dockerCmd(c, "exec", name, "cat", file)
    30  	c.Assert(strings.TrimSpace(out), checker.Equals, "314572800")
    31  
    32  	c.Assert(inspectField(c, name, "HostConfig.MemorySwap"), checker.Equals, "524288000")
    33  	file = "/sys/fs/cgroup/memory/memory.memsw.limit_in_bytes"
    34  	out, _ = dockerCmd(c, "exec", name, "cat", file)
    35  	c.Assert(strings.TrimSpace(out), checker.Equals, "524288000")
    36  }