docker_cli_images_test.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package main
  2. import (
  3. "fmt"
  4. "os/exec"
  5. "strings"
  6. "testing"
  7. )
  8. func TestImagesEnsureImageIsListed(t *testing.T) {
  9. imagesCmd := exec.Command(dockerBinary, "images")
  10. out, _, err := runCommandWithOutput(imagesCmd)
  11. errorOut(err, t, fmt.Sprintf("listing images failed with errors: %v", err))
  12. if !strings.Contains(out, "busybox") {
  13. t.Fatal("images should've listed busybox")
  14. }
  15. logDone("images - busybox should be listed")
  16. }
  17. func TestCLIImageTagRemove(t *testing.T) {
  18. imagesBefore, _, _ := cmd(t, "images", "-a")
  19. cmd(t, "tag", "busybox", "utest:tag1")
  20. cmd(t, "tag", "busybox", "utest/docker:tag2")
  21. cmd(t, "tag", "busybox", "utest:5000/docker:tag3")
  22. {
  23. imagesAfter, _, _ := cmd(t, "images", "-a")
  24. if nLines(imagesAfter) != nLines(imagesBefore)+3 {
  25. t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter)
  26. }
  27. }
  28. cmd(t, "rmi", "utest/docker:tag2")
  29. {
  30. imagesAfter, _, _ := cmd(t, "images", "-a")
  31. if nLines(imagesAfter) != nLines(imagesBefore)+2 {
  32. t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter)
  33. }
  34. }
  35. cmd(t, "rmi", "utest:5000/docker:tag3")
  36. {
  37. imagesAfter, _, _ := cmd(t, "images", "-a")
  38. if nLines(imagesAfter) != nLines(imagesBefore)+1 {
  39. t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter)
  40. }
  41. }
  42. cmd(t, "rmi", "utest:tag1")
  43. {
  44. imagesAfter, _, _ := cmd(t, "images", "-a")
  45. if nLines(imagesAfter) != nLines(imagesBefore)+0 {
  46. t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter)
  47. }
  48. }
  49. logDone("tag,rmi- tagging the same images multiple times then removing tags")
  50. }