mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
libnetwork: replace uses of errdefs package
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
This commit is contained in:
@@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/containerd/log"
|
||||
"github.com/docker/docker/errdefs"
|
||||
"github.com/docker/docker/libnetwork/netlabel"
|
||||
"github.com/docker/docker/libnetwork/types"
|
||||
)
|
||||
@@ -170,7 +170,7 @@ func (c *Controller) defaultGwNetwork() (*Network, error) {
|
||||
defer func() { <-procGwNetwork }()
|
||||
|
||||
n, err := c.NetworkByName(libnGWNetwork)
|
||||
if errdefs.IsNotFound(err) {
|
||||
if cerrdefs.IsNotFound(err) {
|
||||
n, err = c.createGWNetwork()
|
||||
}
|
||||
return n, err
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
"fmt"
|
||||
"net/netip"
|
||||
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/containerd/log"
|
||||
"github.com/docker/docker/errdefs"
|
||||
"github.com/docker/docker/libnetwork/drivers/bridge/internal/firewaller"
|
||||
"github.com/docker/docker/libnetwork/iptables"
|
||||
)
|
||||
@@ -106,7 +106,7 @@ func (n *network) setupIPTables(ctx context.Context, ipVersion iptables.IPVersio
|
||||
return err
|
||||
}
|
||||
n.registerCleanFunc(func() error {
|
||||
if err := iptables.DelInterfaceFirewalld(n.config.IfName); err != nil && !errdefs.IsNotFound(err) {
|
||||
if err := iptables.DelInterfaceFirewalld(n.config.IfName); err != nil && !cerrdefs.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -534,7 +534,7 @@ func setupInternalNetworkRules(ctx context.Context, bridgeIface string, prefix n
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if err := iptables.DelInterfaceFirewalld(bridgeIface); err != nil && !errdefs.IsNotFound(err) {
|
||||
if err := iptables.DelInterfaceFirewalld(bridgeIface); err != nil && !cerrdefs.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/errdefs"
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/docker/docker/internal/nlwrap"
|
||||
"github.com/docker/docker/internal/testutils/netnsutils"
|
||||
"github.com/docker/docker/internal/testutils/storeutils"
|
||||
@@ -36,7 +36,7 @@ func TestLinkCreate(t *testing.T) {
|
||||
|
||||
te := newTestEndpoint46(ipdList[0].Pool, ipd6List[0].Pool, 10)
|
||||
err = d.CreateEndpoint(context.Background(), "dummy", "", te.Interface(), nil)
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
|
||||
assert.Check(t, is.Error(err, "invalid endpoint id: "))
|
||||
|
||||
// Good endpoint creation
|
||||
@@ -57,7 +57,7 @@ func TestLinkCreate(t *testing.T) {
|
||||
|
||||
te1 := newTestEndpoint(ipdList[0].Pool, 11)
|
||||
err = d.CreateEndpoint(context.Background(), "dummy", "ep", te1.Interface(), nil)
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Assert(t, is.Error(err, "Endpoint (ep) already exists (Only one endpoint allowed)"), "Failed to detect duplicate endpoint id on same network")
|
||||
|
||||
_, err = nlwrap.LinkByName(te.iface.srcName)
|
||||
@@ -100,7 +100,7 @@ func TestLinkCreateTwo(t *testing.T) {
|
||||
|
||||
te2 := newTestEndpoint(ipdList[0].Pool, 12)
|
||||
err = d.CreateEndpoint(context.Background(), "dummy", "ep", te2.Interface(), nil)
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Assert(t, is.Error(err, "Endpoint (ep) already exists (Only one endpoint allowed)"), "Failed to detect duplicate endpoint id on same network")
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ func TestLinkDelete(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
|
||||
err = d.DeleteEndpoint("dummy", "")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
|
||||
assert.Assert(t, is.Error(err, "invalid endpoint id: "))
|
||||
|
||||
err = d.DeleteEndpoint("dummy", "ep1")
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"syscall"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/errdefs"
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/docker/docker/internal/nlwrap"
|
||||
"github.com/docker/docker/internal/testutils/netnsutils"
|
||||
"github.com/docker/docker/libnetwork/netutils"
|
||||
@@ -52,7 +52,7 @@ func TestSetupNewNonDefaultBridge(t *testing.T) {
|
||||
|
||||
err = setupDevice(config, br)
|
||||
assert.Check(t, is.Error(err, "bridge device with non default name test0 must be created manually"))
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
}
|
||||
|
||||
func TestSetupDeviceUp(t *testing.T) {
|
||||
|
||||
@@ -3,7 +3,7 @@ package libnetwork
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/errdefs"
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/docker/docker/libnetwork/types"
|
||||
"gotest.tools/v3/assert"
|
||||
is "gotest.tools/v3/assert/cmp"
|
||||
@@ -21,11 +21,11 @@ func TestErrorInterfaces(t *testing.T) {
|
||||
|
||||
notFoundErrorList := []error{ErrNoSuchNetwork("")}
|
||||
for _, err := range notFoundErrorList {
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
}
|
||||
|
||||
forbiddenErrorList := []error{&ActiveContainerError{}}
|
||||
for _, err := range forbiddenErrorList {
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@ import (
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/containerd/log"
|
||||
"github.com/docker/docker/errdefs"
|
||||
"github.com/docker/docker/internal/nlwrap"
|
||||
"github.com/docker/docker/internal/testutils/netnsutils"
|
||||
"github.com/docker/docker/libnetwork"
|
||||
@@ -112,7 +112,7 @@ func TestNull(t *testing.T) {
|
||||
err = network.Delete()
|
||||
|
||||
// TODO(thaJeztah): should this be an [errdefs.ErrInvalidParameter] ?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Check(t, is.Error(err, `network of type "null" cannot be deleted`))
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ func TestUnknownDriver(t *testing.T) {
|
||||
_, err := createTestNetwork(controller, "unknowndriver", "testnetwork", options.Generic{}, nil, nil)
|
||||
|
||||
// TODO(thaJeztah): should attempting to use a non-existing plugin/driver return an [errdefs.ErrInvalidParameter] ?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
assert.Check(t, is.Error(err, "could not find plugin unknowndriver in v1 plugin registry: plugin not found"))
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ func TestNilRemoteDriver(t *testing.T) {
|
||||
libnetwork.NetworkOptionGeneric(getEmptyGenericOption()))
|
||||
|
||||
// TODO(thaJeztah): should attempting to use a non-existing plugin/driver return an [errdefs.InvalidParameter] ?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
assert.Check(t, is.Error(err, "could not find plugin framerelay in v1 plugin registry: plugin not found"))
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ func TestNetworkName(t *testing.T) {
|
||||
}
|
||||
|
||||
_, err := createTestNetwork(controller, bridgeNetType, "", netOption, nil, nil)
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter), "Expected to fail with ErrInvalidName error")
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument), "Expected to fail with ErrInvalidName error")
|
||||
|
||||
const networkName = "testnetwork"
|
||||
n, err := createTestNetwork(controller, bridgeNetType, networkName, netOption, nil, nil)
|
||||
@@ -225,7 +225,7 @@ func TestDeleteNetworkWithActiveEndpoints(t *testing.T) {
|
||||
assert.Check(t, errors.As(err, &activeEndpointsError))
|
||||
assert.Check(t, is.ErrorContains(err, "has active endpoints"))
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrConflict] or [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
|
||||
// Done testing. Now cleanup.
|
||||
err = ep.Delete(context.Background(), false)
|
||||
@@ -246,7 +246,7 @@ func TestNetworkConfig(t *testing.T) {
|
||||
)
|
||||
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Check(t, is.Error(err, "a configuration network cannot depend on another configuration network"))
|
||||
|
||||
// Create supported config network
|
||||
@@ -280,7 +280,7 @@ func TestNetworkConfig(t *testing.T) {
|
||||
libnetwork.NetworkOptionConfigOnly(), opt)
|
||||
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Check(t, is.Error(err, "configuration network can only contain network specific fields. Network operator fields like [ ingress | internal | attachable | scope ] are not supported."))
|
||||
})
|
||||
}
|
||||
@@ -300,7 +300,7 @@ func TestNetworkConfig(t *testing.T) {
|
||||
libnetwork.NetworkOptionConfigFrom("config_network0"), opt)
|
||||
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
|
||||
//nolint:dupword // ignore "Duplicate words (network) found (dupword)"
|
||||
// Doing a partial match here omn the error-string here, as this produces either;
|
||||
@@ -321,7 +321,7 @@ func TestNetworkConfig(t *testing.T) {
|
||||
// Verify the config network cannot be removed
|
||||
err = configNetwork.Delete()
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrConflict] or [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Check(t, is.Error(err, `configuration network "config_network0" is in use`))
|
||||
|
||||
// Delete network
|
||||
@@ -351,7 +351,7 @@ func TestUnknownNetwork(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
|
||||
err = network.Delete()
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorContains(err, "unknown network testnetwork id"))
|
||||
}
|
||||
|
||||
@@ -371,7 +371,7 @@ func TestUnknownEndpoint(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = network.CreateEndpoint(context.Background(), "")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter), "Expected to fail with ErrInvalidName error")
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument), "Expected to fail with ErrInvalidName error")
|
||||
assert.Check(t, is.ErrorContains(err, "invalid name:"))
|
||||
|
||||
ep, err := network.CreateEndpoint(context.Background(), "testep")
|
||||
@@ -513,7 +513,7 @@ func TestDuplicateEndpoint(t *testing.T) {
|
||||
}()
|
||||
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrConflict] or [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Check(t, is.Error(err, "endpoint with name ep1 already exists in network testnetwork"))
|
||||
}
|
||||
|
||||
@@ -548,15 +548,15 @@ func TestControllerQuery(t *testing.T) {
|
||||
}()
|
||||
|
||||
_, err = controller.NetworkByName("")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
|
||||
assert.Check(t, is.ErrorContains(err, "invalid name:"))
|
||||
|
||||
_, err = controller.NetworkByID("")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
|
||||
assert.Check(t, is.Error(err, "invalid id: id is empty"))
|
||||
|
||||
g, err := controller.NetworkByID("network1")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
assert.Check(t, is.Error(err, "network network1 not found"))
|
||||
assert.Check(t, is.Nil(g), "search network using name as ID should not yield a result")
|
||||
|
||||
@@ -613,11 +613,11 @@ func TestNetworkQuery(t *testing.T) {
|
||||
assert.Check(t, is.Equal(e, ep11), "EndpointByName() returned the wrong endpoint")
|
||||
|
||||
_, err = net1.EndpointByName("")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
|
||||
assert.Check(t, is.ErrorContains(err, "invalid name:"))
|
||||
|
||||
e, err = net1.EndpointByName("IamNotAnEndpoint")
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
assert.Check(t, is.Error(err, "endpoint IamNotAnEndpoint not found"))
|
||||
assert.Check(t, is.Nil(e), "EndpointByName() returned endpoint on error")
|
||||
}
|
||||
@@ -677,7 +677,7 @@ func TestEndpointDeleteWithActiveContainer(t *testing.T) {
|
||||
assert.Check(t, errors.As(err, &activeContainerError))
|
||||
assert.Check(t, is.ErrorContains(err, "has active containers"))
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrConflict] or [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
}
|
||||
|
||||
func TestEndpointMultipleJoins(t *testing.T) {
|
||||
@@ -725,7 +725,7 @@ func TestEndpointMultipleJoins(t *testing.T) {
|
||||
|
||||
err = ep.Join(context.Background(), sbx2)
|
||||
// TODO(thaJeztah): should this be [errdefs.ErrConflict] or [errdefs.ErrInvalidParameter]?
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
assert.Check(t, is.Error(err, "another container is attached to the same network endpoint"))
|
||||
}
|
||||
|
||||
@@ -806,17 +806,17 @@ func TestContainerInvalidLeave(t *testing.T) {
|
||||
}()
|
||||
|
||||
err = ep.Leave(context.Background(), cnt)
|
||||
assert.Assert(t, is.ErrorType(err, errdefs.IsForbidden), "Expected to fail leave from an endpoint which has no active join")
|
||||
assert.Assert(t, is.ErrorType(err, cerrdefs.IsPermissionDenied), "Expected to fail leave from an endpoint which has no active join")
|
||||
assert.Check(t, is.Error(err, "cannot leave endpoint with no attached sandbox"))
|
||||
|
||||
err = ep.Leave(context.Background(), nil)
|
||||
assert.Assert(t, is.ErrorType(err, errdefs.IsInvalidParameter), "Expected to fail leave with a nil Sandbox")
|
||||
assert.Assert(t, is.ErrorType(err, cerrdefs.IsInvalidArgument), "Expected to fail leave with a nil Sandbox")
|
||||
// FIXME(thaJeztah): this error includes the raw data of the sandbox (as `<nil>`), which is not very informative
|
||||
assert.Check(t, is.Error(err, "invalid Sandbox passed to endpoint leave: <nil>"))
|
||||
|
||||
fsbx := &libnetwork.Sandbox{}
|
||||
err = ep.Leave(context.Background(), fsbx)
|
||||
assert.Assert(t, is.ErrorType(err, errdefs.IsInvalidParameter), "Expected to fail leave with invalid Sandbox")
|
||||
assert.Assert(t, is.ErrorType(err, cerrdefs.IsInvalidArgument), "Expected to fail leave with invalid Sandbox")
|
||||
//nolint:dupword // Ignore "Duplicate words (map[]) found (dupword)"
|
||||
// FIXME(thaJeztah): this error includes the raw data of the sandbox, which is not very human-readable or informative;
|
||||
// invalid Sandbox passed to endpoint leave: &{ {{ []} { [] [] []} map[] false false []} [] <nil> <nil> <nil> {{{} 0} {0 0}} [] map[] map[] <nil> 0 false false false false false [] {0 0} {0 0}}
|
||||
@@ -934,7 +934,7 @@ func TestValidRemoteDriver(t *testing.T) {
|
||||
libnetwork.NetworkOptionGeneric(getEmptyGenericOption()))
|
||||
if err != nil {
|
||||
// Only fail if we could not find the plugin driver
|
||||
if errdefs.IsNotFound(err) {
|
||||
if cerrdefs.IsNotFound(err) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return
|
||||
@@ -1112,13 +1112,13 @@ func TestEndpointJoin(t *testing.T) {
|
||||
|
||||
// test invalid joins
|
||||
err = ep1.Join(context.Background(), nil)
|
||||
assert.Assert(t, is.ErrorType(err, errdefs.IsInvalidParameter), "Expected to fail join with nil Sandbox")
|
||||
assert.Assert(t, is.ErrorType(err, cerrdefs.IsInvalidArgument), "Expected to fail join with nil Sandbox")
|
||||
// FIXME(thaJeztah): this error includes the raw data of the sandbox (as `<nil>`), which is not very informative
|
||||
assert.Check(t, is.Error(err, "invalid Sandbox passed to endpoint join: <nil>"))
|
||||
|
||||
fsbx := &libnetwork.Sandbox{}
|
||||
err = ep1.Join(context.Background(), fsbx)
|
||||
assert.Assert(t, is.ErrorType(err, errdefs.IsInvalidParameter), "Expected to fail join with invalid Sandbox")
|
||||
assert.Assert(t, is.ErrorType(err, cerrdefs.IsInvalidArgument), "Expected to fail join with invalid Sandbox")
|
||||
|
||||
//nolint:dupword // ignore "Duplicate words (map[]) found (dupword)"
|
||||
// FIXME(thaJeztah): this error includes the raw data of the sandbox, which is not very human-readable or informative;
|
||||
@@ -1434,12 +1434,12 @@ func (pt parallelTester) Do(t *testing.T, thrNumber int) error {
|
||||
|
||||
for i := 0; i < pt.iterCnt; i++ {
|
||||
if err := ep.Join(context.Background(), sb); err != nil {
|
||||
if !errdefs.IsForbidden(err) {
|
||||
if !cerrdefs.IsPermissionDenied(err) {
|
||||
return errors.Wrapf(err, "thread %d", thrNumber)
|
||||
}
|
||||
}
|
||||
if err := ep.Leave(context.Background(), sb); err != nil {
|
||||
if !errdefs.IsForbidden(err) {
|
||||
if !cerrdefs.IsPermissionDenied(err) {
|
||||
return errors.Wrapf(err, "thread %d", thrNumber)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/errdefs"
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/docker/docker/internal/testutils/netnsutils"
|
||||
"github.com/docker/docker/libnetwork/config"
|
||||
"github.com/docker/docker/libnetwork/drivers/bridge"
|
||||
@@ -65,14 +65,14 @@ func TestControllerGetSandbox(t *testing.T) {
|
||||
t.Run("invalid id", func(t *testing.T) {
|
||||
const cID = ""
|
||||
sb, err := ctrlr.GetSandbox(cID)
|
||||
assert.Check(t, errdefs.IsInvalidParameter(err), "expected a ErrInvalidParameter, got %[1]v (%[1]T)", err)
|
||||
assert.Check(t, cerrdefs.IsInvalidArgument(err), "expected a ErrInvalidParameter, got %[1]v (%[1]T)", err)
|
||||
assert.Check(t, is.Error(err, "invalid id: id is empty"))
|
||||
assert.Check(t, is.Nil(sb))
|
||||
})
|
||||
t.Run("not found", func(t *testing.T) {
|
||||
const cID = "container-id-with-no-sandbox"
|
||||
sb, err := ctrlr.GetSandbox(cID)
|
||||
assert.Check(t, errdefs.IsNotFound(err), "expected a ErrNotFound, got %[1]v (%[1]T)", err)
|
||||
assert.Check(t, cerrdefs.IsNotFound(err), "expected a ErrNotFound, got %[1]v (%[1]T)", err)
|
||||
assert.Check(t, is.Error(err, "network sandbox for container container-id-with-no-sandbox not found"))
|
||||
assert.Check(t, is.Nil(sb))
|
||||
})
|
||||
@@ -92,7 +92,7 @@ func TestControllerGetSandbox(t *testing.T) {
|
||||
assert.Check(t, err)
|
||||
|
||||
sb, err = ctrlr.GetSandbox(cID)
|
||||
assert.Check(t, errdefs.IsNotFound(err), "expected a ErrNotFound, got %[1]v (%[1]T)", err)
|
||||
assert.Check(t, cerrdefs.IsNotFound(err), "expected a ErrNotFound, got %[1]v (%[1]T)", err)
|
||||
assert.Check(t, is.Error(err, "network sandbox for container test-container-id not found"))
|
||||
assert.Check(t, is.Nil(sb))
|
||||
})
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/errdefs"
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"gotest.tools/v3/assert"
|
||||
is "gotest.tools/v3/assert/cmp"
|
||||
)
|
||||
@@ -16,31 +16,31 @@ func TestErrorConstructors(t *testing.T) {
|
||||
|
||||
err = InvalidParameterErrorf("Io ho %d uccello", 1)
|
||||
assert.Check(t, is.Error(err, "Io ho 1 uccello"))
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
|
||||
_, ok = err.(MaskableError)
|
||||
assert.Check(t, !ok, "error should not be maskable: %[1]v (%[1]T)", err)
|
||||
|
||||
err = NotFoundErrorf("Can't find the %s", "keys")
|
||||
assert.Check(t, is.Error(err, "Can't find the keys"))
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
|
||||
_, ok = err.(MaskableError)
|
||||
assert.Check(t, !ok, "error should not be maskable: %[1]v (%[1]T)", err)
|
||||
|
||||
err = ForbiddenErrorf("Can't open door %d", 2)
|
||||
assert.Check(t, is.Error(err, "Can't open door 2"))
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsPermissionDenied))
|
||||
_, ok = err.(MaskableError)
|
||||
assert.Check(t, !ok, "error should not be maskable: %[1]v (%[1]T)", err)
|
||||
|
||||
err = NotImplementedErrorf("Functionality %s is not implemented", "x")
|
||||
assert.Check(t, is.Error(err, "Functionality x is not implemented"))
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsNotImplemented))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotImplemented))
|
||||
_, ok = err.(MaskableError)
|
||||
assert.Check(t, !ok, "error should not be maskable: %[1]v (%[1]T)", err)
|
||||
|
||||
err = UnavailableErrorf("Driver %s is not available", "mh")
|
||||
assert.Check(t, is.Error(err, "Driver mh is not available"))
|
||||
assert.Check(t, is.ErrorType(err, errdefs.IsUnavailable))
|
||||
assert.Check(t, is.ErrorType(err, cerrdefs.IsUnavailable))
|
||||
_, ok = err.(MaskableError)
|
||||
assert.Check(t, !ok, "error should not be maskable: %[1]v (%[1]T)", err)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user