| package main |
| |
| import ( |
| "fmt" |
| "os/exec" |
| "strings" |
| "testing" |
| ) |
| |
| func TestImagesEnsureImageIsListed(t *testing.T) { |
| imagesCmd := exec.Command(dockerBinary, "images") |
| out, _, err := runCommandWithOutput(imagesCmd) |
| errorOut(err, t, fmt.Sprintf("listing images failed with errors: %v", err)) |
| |
| if !strings.Contains(out, "busybox") { |
| t.Fatal("images should've listed busybox") |
| } |
| |
| logDone("images - busybox should be listed") |
| } |
| |
| func TestCLIImageTagRemove(t *testing.T) { |
| imagesBefore, _, _ := cmd(t, "images", "-a") |
| cmd(t, "tag", "busybox", "utest:tag1") |
| cmd(t, "tag", "busybox", "utest/docker:tag2") |
| cmd(t, "tag", "busybox", "utest:5000/docker:tag3") |
| { |
| imagesAfter, _, _ := cmd(t, "images", "-a") |
| if nLines(imagesAfter) != nLines(imagesBefore)+3 { |
| t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter) |
| } |
| } |
| cmd(t, "rmi", "utest/docker:tag2") |
| { |
| imagesAfter, _, _ := cmd(t, "images", "-a") |
| if nLines(imagesAfter) != nLines(imagesBefore)+2 { |
| t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter) |
| } |
| |
| } |
| cmd(t, "rmi", "utest:5000/docker:tag3") |
| { |
| imagesAfter, _, _ := cmd(t, "images", "-a") |
| if nLines(imagesAfter) != nLines(imagesBefore)+1 { |
| t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter) |
| } |
| |
| } |
| cmd(t, "rmi", "utest:tag1") |
| { |
| imagesAfter, _, _ := cmd(t, "images", "-a") |
| if nLines(imagesAfter) != nLines(imagesBefore)+0 { |
| t.Fatalf("before: %#s\n\nafter: %#s\n", imagesBefore, imagesAfter) |
| } |
| |
| } |
| logDone("tag,rmi- tagging the same images multiple times then removing tags") |
| } |