docker_api_exec_test.go 773 B

1234567891011121314151617181920212223242526272829
  1. // +build !test_no_exec
  2. package main
  3. import (
  4. "bytes"
  5. "fmt"
  6. "net/http"
  7. "os/exec"
  8. "github.com/go-check/check"
  9. )
  10. // Regression test for #9414
  11. func (s *DockerSuite) TestExecApiCreateNoCmd(c *check.C) {
  12. name := "exec_test"
  13. runCmd := exec.Command(dockerBinary, "run", "-d", "-t", "--name", name, "busybox", "/bin/sh")
  14. if out, _, err := runCommandWithOutput(runCmd); err != nil {
  15. c.Fatal(out, err)
  16. }
  17. status, body, err := sockRequest("POST", fmt.Sprintf("/containers/%s/exec", name), map[string]interface{}{"Cmd": nil})
  18. c.Assert(status, check.Equals, http.StatusInternalServerError)
  19. c.Assert(err, check.IsNil)
  20. if !bytes.Contains(body, []byte("No exec command specified")) {
  21. c.Fatalf("Expected message when creating exec command with no Cmd specified")
  22. }
  23. }