docker_cli_inspect_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package main
  2. import (
  3. "os/exec"
  4. "strings"
  5. "testing"
  6. )
  7. func TestInspectImage(t *testing.T) {
  8. imageTest := "emptyfs"
  9. imageTestID := "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"
  10. imagesCmd := exec.Command(dockerBinary, "inspect", "--format='{{.Id}}'", imageTest)
  11. out, exitCode, err := runCommandWithOutput(imagesCmd)
  12. if exitCode != 0 || err != nil {
  13. t.Fatalf("failed to inspect image: %s, %v", out, err)
  14. }
  15. if id := strings.TrimSuffix(out, "\n"); id != imageTestID {
  16. t.Fatalf("Expected id: %s for image: %s but received id: %s", imageTestID, imageTest, id)
  17. }
  18. logDone("inspect - inspect an image")
  19. }
  20. func TestInspectExecID(t *testing.T) {
  21. defer deleteAllContainers()
  22. out, exitCode, err := runCommandWithOutput(exec.Command(dockerBinary, "run", "-d", "busybox", "top"))
  23. if exitCode != 0 || err != nil {
  24. t.Fatalf("failed to run container: %s, %v", out, err)
  25. }
  26. id := strings.TrimSuffix(out, "\n")
  27. out, err = inspectField(id, "ExecIDs")
  28. if err != nil {
  29. t.Fatalf("failed to inspect container: %s, %v", out, err)
  30. }
  31. if out != "<no value>" {
  32. t.Fatalf("ExecIDs should be empty, got: %s", out)
  33. }
  34. exitCode, err = runCommand(exec.Command(dockerBinary, "exec", "-d", id, "ls", "/"))
  35. if exitCode != 0 || err != nil {
  36. t.Fatalf("failed to exec in container: %s, %v", out, err)
  37. }
  38. out, err = inspectField(id, "ExecIDs")
  39. if err != nil {
  40. t.Fatalf("failed to inspect container: %s, %v", out, err)
  41. }
  42. out = strings.TrimSuffix(out, "\n")
  43. if out == "[]" || out == "<no value>" {
  44. t.Fatalf("ExecIDs should not be empty, got: %s", out)
  45. }
  46. logDone("inspect - inspect a container with ExecIDs")
  47. }