MCPcopy Index your code
hub / github.com/docker/cli / TestNewRemoveCommandSuccess

Function TestNewRemoveCommandSuccess

cli/command/image/remove_test.go:79–144  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

77}
78
79func TestNewRemoveCommandSuccess(t *testing.T) {
80 testCases := []struct {
81 name string
82 args []string
83 imageRemoveFunc func(img string, options client.ImageRemoveOptions) (client.ImageRemoveResult, error)
84 expectedStderr string
85 }{
86 {
87 name: "Image Deleted",
88 args: []string{"image1"},
89 imageRemoveFunc: func(img string, options client.ImageRemoveOptions) (client.ImageRemoveResult, error) {
90 assert.Check(t, is.Equal("image1", img))
91 return client.ImageRemoveResult{
92 Items: []image.DeleteResponse{{Deleted: img}},
93 }, nil
94 },
95 },
96 {
97 name: "Image not found with force option",
98 args: []string{"-f", "image1"},
99 imageRemoveFunc: func(img string, options client.ImageRemoveOptions) (client.ImageRemoveResult, error) {
100 assert.Check(t, is.Equal("image1", img))
101 assert.Check(t, is.Equal(true, options.Force))
102 return client.ImageRemoveResult{}, notFound{"image1"}
103 },
104 expectedStderr: "Error: No such image: image1\n",
105 },
106
107 {
108 name: "Image Untagged",
109 args: []string{"image1"},
110 imageRemoveFunc: func(img string, options client.ImageRemoveOptions) (client.ImageRemoveResult, error) {
111 assert.Check(t, is.Equal("image1", img))
112 return client.ImageRemoveResult{
113 Items: []image.DeleteResponse{{Untagged: img}},
114 }, nil
115 },
116 },
117 {
118 name: "Image Deleted and Untagged",
119 args: []string{"image1", "image2"},
120 imageRemoveFunc: func(img string, options client.ImageRemoveOptions) (client.ImageRemoveResult, error) {
121 if img == "image1" {
122 return client.ImageRemoveResult{
123 Items: []image.DeleteResponse{{Untagged: img}},
124 }, nil
125 }
126 return client.ImageRemoveResult{
127 Items: []image.DeleteResponse{{Deleted: img}},
128 }, nil
129 },
130 },
131 }
132 for _, tc := range testCases {
133 t.Run(tc.name, func(t *testing.T) {
134 cli := test.NewFakeCli(&fakeClient{imageRemoveFunc: tc.imageRemoveFunc})
135 cmd := newRemoveCommand(cli)
136 cmd.SetOut(io.Discard)

Callers

nothing calls this directly

Calls 8

ErrBufferMethod · 0.95
OutBufferMethod · 0.95
nilToEmptySliceFunction · 0.85
SetArgsMethod · 0.80
newRemoveCommandFunction · 0.70
StringMethod · 0.65
SetOutMethod · 0.45
SetErrMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…