MCPcopy
hub / github.com/docker/compose / TestDownRemoveOrphans

Function TestDownRemoveOrphans

pkg/compose/down_test.go:184–237  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

182}
183
184func TestDownRemoveOrphans(t *testing.T) {
185 mockCtrl := gomock.NewController(t)
186 defer mockCtrl.Finish()
187
188 api, cli := prepareMocks(mockCtrl)
189 tested, err := NewComposeService(cli)
190 assert.NilError(t, err)
191
192 api.EXPECT().ContainerList(gomock.Any(), projectFilterListOpt(true)).Return(
193 client.ContainerListResult{
194 Items: []container.Summary{
195 testContainer("service1", "123", false),
196 testContainer("service2", "789", false),
197 testContainer("service_orphan", "321", true),
198 },
199 }, nil)
200 api.EXPECT().VolumeList(
201 gomock.Any(),
202 client.VolumeListOptions{
203 Filters: projectFilter(strings.ToLower(testProject)),
204 }).
205 Return(client.VolumeListResult{}, nil)
206 api.EXPECT().NetworkList(gomock.Any(), client.NetworkListOptions{Filters: projectFilter(strings.ToLower(testProject))}).
207 Return(client.NetworkListResult{
208 Items: []network.Summary{{
209 Network: network.Network{
210 Name: "myProject_default",
211 Labels: map[string]string{compose.NetworkLabel: "default"},
212 },
213 }},
214 }, nil)
215
216 stopOptions := client.ContainerStopOptions{}
217 api.EXPECT().ContainerStop(gomock.Any(), "123", stopOptions).Return(client.ContainerStopResult{}, nil)
218 api.EXPECT().ContainerStop(gomock.Any(), "789", stopOptions).Return(client.ContainerStopResult{}, nil)
219 api.EXPECT().ContainerStop(gomock.Any(), "321", stopOptions).Return(client.ContainerStopResult{}, nil)
220
221 api.EXPECT().ContainerRemove(gomock.Any(), "123", client.ContainerRemoveOptions{Force: true}).Return(client.ContainerRemoveResult{}, nil)
222 api.EXPECT().ContainerRemove(gomock.Any(), "789", client.ContainerRemoveOptions{Force: true}).Return(client.ContainerRemoveResult{}, nil)
223 api.EXPECT().ContainerRemove(gomock.Any(), "321", client.ContainerRemoveOptions{Force: true}).Return(client.ContainerRemoveResult{}, nil)
224
225 api.EXPECT().NetworkList(gomock.Any(), client.NetworkListOptions{
226 Filters: projectFilter(strings.ToLower(testProject)).Add("label", networkFilter("default")),
227 }).Return(client.NetworkListResult{
228 Items: []network.Summary{{Network: network.Network{ID: "abc123", Name: "myProject_default"}}},
229 }, nil)
230 api.EXPECT().NetworkInspect(gomock.Any(), "abc123", gomock.Any()).Return(client.NetworkInspectResult{
231 Network: network.Inspect{Network: network.Network{ID: "abc123"}},
232 }, nil)
233 api.EXPECT().NetworkRemove(gomock.Any(), "abc123", gomock.Any()).Return(client.NetworkRemoveResult{}, nil)
234
235 err = tested.Down(t.Context(), strings.ToLower(testProject), compose.DownOptions{RemoveOrphans: true})
236 assert.NilError(t, err)
237}
238
239func TestDownRemoveVolumes(t *testing.T) {
240 mockCtrl := gomock.NewController(t)

Callers

nothing calls this directly

Calls 15

prepareMocksFunction · 0.85
NewComposeServiceFunction · 0.85
projectFilterListOptFunction · 0.85
testContainerFunction · 0.85
projectFilterFunction · 0.85
networkFilterFunction · 0.85
DownMethod · 0.65
ContainerListMethod · 0.45
EXPECTMethod · 0.45
VolumeListMethod · 0.45
NetworkListMethod · 0.45
ContainerStopMethod · 0.45

Tested by

no test coverage detected