integration/volumes: TestVolumesRemove: add coverage for force/no-force
Add additional test-cases for deleting non-existing volumes (with/without force).
With this patch:
make TEST_FILTER=TestVolumesRemove DOCKER_GRAPHDRIVER=vfs test-integration
Running /go/src/github.com/docker/docker/integration/volume (arm64.integration.volume) flags=-test.v -test.timeout=10m -test.run TestVolumesRemove
...
=== RUN TestVolumesRemove
=== RUN TestVolumesRemove/volume_in_use
=== RUN TestVolumesRemove/volume_not_in_use
=== RUN TestVolumesRemove/non-existing_volume
=== RUN TestVolumesRemove/non-existing_volume_force
--- PASS: TestVolumesRemove (0.04s)
--- PASS: TestVolumesRemove/volume_in_use (0.00s)
--- PASS: TestVolumesRemove/volume_not_in_use (0.01s)
--- PASS: TestVolumesRemove/non-existing_volume (0.00s)
--- PASS: TestVolumesRemove/non-existing_volume_force (0.00s)
PASS
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7531f05c7c
)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
59e89b9e82
commit
e3c642d1ea
1 changed files with 24 additions and 8 deletions
|
@ -13,6 +13,7 @@ import (
|
|||
"github.com/docker/docker/api/types/filters"
|
||||
"github.com/docker/docker/api/types/volume"
|
||||
clientpkg "github.com/docker/docker/client"
|
||||
"github.com/docker/docker/errdefs"
|
||||
"github.com/docker/docker/integration/internal/container"
|
||||
"github.com/docker/docker/testutil/request"
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
|
@ -75,16 +76,31 @@ func TestVolumesRemove(t *testing.T) {
|
|||
assert.NilError(t, err)
|
||||
vname := c.Mounts[0].Name
|
||||
|
||||
err = client.VolumeRemove(ctx, vname, false)
|
||||
assert.Check(t, is.ErrorContains(err, "volume is in use"))
|
||||
|
||||
err = client.ContainerRemove(ctx, id, types.ContainerRemoveOptions{
|
||||
Force: true,
|
||||
t.Run("volume in use", func(t *testing.T) {
|
||||
err = client.VolumeRemove(ctx, vname, false)
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsConflict))
|
||||
assert.Check(t, is.ErrorContains(err, "volume is in use"))
|
||||
})
|
||||
assert.NilError(t, err)
|
||||
|
||||
err = client.VolumeRemove(ctx, vname, false)
|
||||
assert.NilError(t, err)
|
||||
t.Run("volume not in use", func(t *testing.T) {
|
||||
err = client.ContainerRemove(ctx, id, types.ContainerRemoveOptions{
|
||||
Force: true,
|
||||
})
|
||||
assert.NilError(t, err)
|
||||
|
||||
err = client.VolumeRemove(ctx, vname, false)
|
||||
assert.NilError(t, err)
|
||||
})
|
||||
|
||||
t.Run("non-existing volume", func(t *testing.T) {
|
||||
err = client.VolumeRemove(ctx, "no_such_volume", false)
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
})
|
||||
|
||||
t.Run("non-existing volume force", func(t *testing.T) {
|
||||
err = client.VolumeRemove(ctx, "no_such_volume", true)
|
||||
assert.NilError(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestVolumesInspect(t *testing.T) {
|
||||
|
|
Loading…
Reference in a new issue