Files
moby/libnetwork/errors_test.go
Sebastiaan van Stijn afcf1b92a5 libnetwork: TestErrorInterfaces: use errdefs helpers to check error-types
Make sure these errors are properly detected by the errdefs helpers to
implement the right interface / definition.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-01-22 12:45:18 +01:00

37 lines
1.0 KiB
Go

package libnetwork
import (
"testing"
"github.com/docker/docker/errdefs"
"github.com/docker/docker/libnetwork/types"
"gotest.tools/v3/assert"
is "gotest.tools/v3/assert/cmp"
)
func TestErrorInterfaces(t *testing.T) {
badRequestErrorList := []error{ErrInvalidID(""), ErrInvalidName("")}
for _, err := range badRequestErrorList {
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidParameter))
}
maskableErrorList := []error{ManagerRedirectError("")}
for _, err := range maskableErrorList {
switch u := err.(type) {
case types.MaskableError:
default:
t.Errorf("Failed to detect err %v is of type MaskableError. Got type: %T", err, u)
}
}
notFoundErrorList := []error{&UnknownNetworkError{}, ErrNoSuchNetwork(""), ErrNoSuchEndpoint("")}
for _, err := range notFoundErrorList {
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
}
forbiddenErrorList := []error{&ActiveContainerError{}}
for _, err := range forbiddenErrorList {
assert.Check(t, is.ErrorType(err, errdefs.IsForbidden))
}
}