mirror of
https://github.com/clearlinux/docker.git
synced 2026-09-06 13:41:36 +00:00
+14
-5
@@ -858,16 +858,25 @@ func deleteContainers(eng *engine.Engine, version version.Version, w http.Respon
|
||||
if vars == nil {
|
||||
return fmt.Errorf("Missing parameter")
|
||||
}
|
||||
job := eng.Job("rm", vars["name"])
|
||||
|
||||
job.Setenv("forceRemove", r.Form.Get("force"))
|
||||
name := vars["name"]
|
||||
if name == "" {
|
||||
return fmt.Errorf("Container name cannot be empty")
|
||||
}
|
||||
|
||||
job.Setenv("removeVolume", r.Form.Get("v"))
|
||||
job.Setenv("removeLink", r.Form.Get("link"))
|
||||
if err := job.Run(); err != nil {
|
||||
d := getDaemon(eng)
|
||||
config := &daemon.ContainerRmConfig{
|
||||
ForceRemove: toBool(r.Form.Get("force")),
|
||||
RemoveVolume: toBool(r.Form.Get("v")),
|
||||
RemoveLink: toBool(r.Form.Get("link")),
|
||||
}
|
||||
|
||||
if err := d.ContainerRm(name, config); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -286,29 +286,6 @@ func TestGetImagesByName(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeleteContainers(t *testing.T) {
|
||||
eng := engine.New()
|
||||
name := "foo"
|
||||
var called bool
|
||||
eng.Register("rm", func(job *engine.Job) error {
|
||||
called = true
|
||||
if len(job.Args) == 0 {
|
||||
t.Fatalf("Job arguments is empty")
|
||||
}
|
||||
if job.Args[0] != name {
|
||||
t.Fatalf("name != '%s': %#v", name, job.Args[0])
|
||||
}
|
||||
return nil
|
||||
})
|
||||
r := serveRequest("DELETE", "/containers/"+name, nil, eng, t)
|
||||
if !called {
|
||||
t.Fatalf("handler was not called")
|
||||
}
|
||||
if r.Code != http.StatusNoContent {
|
||||
t.Fatalf("Got status %d, expected %d", r.Code, http.StatusNoContent)
|
||||
}
|
||||
}
|
||||
|
||||
func serveRequest(method, target string, body io.Reader, eng *engine.Engine, t *testing.T) *httptest.ResponseRecorder {
|
||||
return serveRequestUsingVersion(method, target, api.APIVERSION, body, eng, t)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user