func TestDeletingImagePruner(t *testing.T) { flag.Lookup("v").Value.Set(fmt.Sprint(*logLevel)) tests := map[string]struct { imageDeletionError error }{ "no error": {}, "delete error": { imageDeletionError: fmt.Errorf("foo"), }, } for name, test := range tests { imageClient := testclient.Fake{} imageClient.SetErr(test.imageDeletionError) imagePruner := NewDeletingImagePruner(imageClient.Images()) err := imagePruner.PruneImage(&imageapi.Image{ObjectMeta: kapi.ObjectMeta{Name: "id2"}}) if test.imageDeletionError != nil { if e, a := test.imageDeletionError, err; e != a { t.Errorf("%s: err: expected %v, got %v", name, e, a) } continue } if e, a := 1, len(imageClient.Actions()); e != a { t.Errorf("%s: expected %d actions, got %d: %#v", name, e, a, imageClient.Actions()) continue } if !imageClient.Actions()[0].Matches("delete", "images") { t.Errorf("%s: expected action %s, got %v", name, "delete-images", imageClient.Actions()[0]) } } }
func TestDeletingImagePruneFunc(t *testing.T) { flag.Lookup("v").Value.Set(fmt.Sprint(*logLevel)) tests := map[string]struct { imageDeletionError error }{ "no error": {}, "delete error": { imageDeletionError: fmt.Errorf("foo"), }, } for name, test := range tests { imageClient := testclient.Fake{ Err: test.imageDeletionError, } pruneFunc := DeletingImagePruneFunc(imageClient.Images()) err := pruneFunc(&imageapi.Image{ObjectMeta: kapi.ObjectMeta{Name: "id2"}}) if test.imageDeletionError != nil { if e, a := fmt.Sprintf("error deleting image: %v", test.imageDeletionError), err.Error(); e != a { t.Errorf("%s: err: expected %v, got %v", name, e, a) } continue } if e, a := 1, len(imageClient.Actions); e != a { t.Errorf("%s: expected %d actions, got %d: %#v", name, e, a, imageClient.Actions) continue } if e, a := "delete-image", imageClient.Actions[0].Action; e != a { t.Errorf("%s: expected action %q, got %q", name, e, a) } } }