docker_api_exec_test.go 738 B

123456789101112131415161718192021222324252627
  1. // +build !test_no_exec
  2. package main
  3. import (
  4. "bytes"
  5. "fmt"
  6. "os/exec"
  7. "testing"
  8. )
  9. // Regression test for #9414
  10. func TestExecApiCreateNoCmd(t *testing.T) {
  11. defer deleteAllContainers()
  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. t.Fatal(out, err)
  16. }
  17. body, err := sockRequest("POST", fmt.Sprintf("/containers/%s/exec", name), map[string]interface{}{"Cmd": nil})
  18. if err == nil || !bytes.Contains(body, []byte("No exec command specified")) {
  19. t.Fatalf("Expected error when creating exec command with no Cmd specified: %q", err)
  20. }
  21. logDone("exec create API - returns error when missing Cmd")
  22. }