docker_api_exec_test.go 713 B

12345678910111213141516171819202122232425
  1. package main
  2. import (
  3. "bytes"
  4. "fmt"
  5. "os/exec"
  6. "testing"
  7. )
  8. // Regression test for #9414
  9. func TestExecApiCreateNoCmd(t *testing.T) {
  10. defer deleteAllContainers()
  11. name := "exec_test"
  12. runCmd := exec.Command(dockerBinary, "run", "-d", "-t", "--name", name, "busybox", "/bin/sh")
  13. if out, _, err := runCommandWithOutput(runCmd); err != nil {
  14. t.Fatal(out, err)
  15. }
  16. body, err := sockRequest("POST", fmt.Sprintf("/containers/%s/exec", name), map[string]interface{}{"Cmd": nil})
  17. if err == nil || !bytes.Contains(body, []byte("No exec command specified")) {
  18. t.Fatalf("Expected error when creating exec command with no Cmd specified: %q", err)
  19. }
  20. logDone("exec create API - returns error when missing Cmd")
  21. }