123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package container // import "github.com/docker/docker/integration/container"
- import (
- "context"
- "fmt"
- "testing"
- "github.com/docker/docker/api/types"
- "github.com/docker/docker/client"
- "github.com/docker/docker/integration/internal/container"
- "gotest.tools/assert"
- is "gotest.tools/assert/cmp"
- "gotest.tools/skip"
- )
- func TestCopyFromContainerPathDoesNotExist(t *testing.T) {
- defer setupTest(t)()
- skip.If(t, testEnv.OSType == "windows")
- ctx := context.Background()
- apiclient := testEnv.APIClient()
- cid := container.Create(t, ctx, apiclient)
- _, _, err := apiclient.CopyFromContainer(ctx, cid, "/dne")
- assert.Check(t, client.IsErrNotFound(err))
- expected := fmt.Sprintf("No such container:path: %s:%s", cid, "/dne")
- assert.Check(t, is.ErrorContains(err, expected))
- }
- func TestCopyFromContainerPathIsNotDir(t *testing.T) {
- defer setupTest(t)()
- skip.If(t, testEnv.OSType == "windows")
- ctx := context.Background()
- apiclient := testEnv.APIClient()
- cid := container.Create(t, ctx, apiclient)
- _, _, err := apiclient.CopyFromContainer(ctx, cid, "/etc/passwd/")
- assert.Assert(t, is.ErrorContains(err, "not a directory"))
- }
- func TestCopyToContainerPathDoesNotExist(t *testing.T) {
- defer setupTest(t)()
- skip.If(t, testEnv.OSType == "windows")
- ctx := context.Background()
- apiclient := testEnv.APIClient()
- cid := container.Create(t, ctx, apiclient)
- err := apiclient.CopyToContainer(ctx, cid, "/dne", nil, types.CopyToContainerOptions{})
- assert.Check(t, client.IsErrNotFound(err))
- expected := fmt.Sprintf("No such container:path: %s:%s", cid, "/dne")
- assert.Check(t, is.ErrorContains(err, expected))
- }
- func TestCopyToContainerPathIsNotDir(t *testing.T) {
- defer setupTest(t)()
- skip.If(t, testEnv.OSType == "windows")
- ctx := context.Background()
- apiclient := testEnv.APIClient()
- cid := container.Create(t, ctx, apiclient)
- err := apiclient.CopyToContainer(ctx, cid, "/etc/passwd/", nil, types.CopyToContainerOptions{})
- assert.Assert(t, is.ErrorContains(err, "not a directory"))
- }
|