summaryrefslogtreecommitdiff
path: root/libnetwork/errors_test.go
blob: 6e6c6c107c750aa766f53311442b59a25b37b584 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package libnetwork

import (
	"testing"

	"github.com/docker/docker/libnetwork/types"
)

func TestErrorInterfaces(t *testing.T) {
	badRequestErrorList := []error{ErrInvalidID(""), ErrInvalidName(""), ErrInvalidJoin{}, ErrInvalidNetworkDriver(""), InvalidContainerIDError(""), ErrNoSuchNetwork(""), ErrNoSuchEndpoint("")}
	for _, err := range badRequestErrorList {
		switch u := err.(type) {
		case types.BadRequestError:
			return
		default:
			t.Fatalf("Failed to detect err %v is of type BadRequestError. Got type: %T", err, u)
		}
	}

	maskableErrorList := []error{ErrNoContainer{}}
	for _, err := range maskableErrorList {
		switch u := err.(type) {
		case types.MaskableError:
			return
		default:
			t.Fatalf("Failed to detect err %v is of type MaskableError. Got type: %T", err, u)
		}
	}

	notFoundErrorList := []error{NetworkTypeError(""), &UnknownNetworkError{}, &UnknownEndpointError{}}
	for _, err := range notFoundErrorList {
		switch u := err.(type) {
		case types.NotFoundError:
			return
		default:
			t.Fatalf("Failed to detect err %v is of type NotFoundError. Got type: %T", err, u)
		}
	}

	forbiddenErrorList := []error{NetworkTypeError(""), &UnknownNetworkError{}, &UnknownEndpointError{}}
	for _, err := range forbiddenErrorList {
		switch u := err.(type) {
		case types.ForbiddenError:
			return
		default:
			t.Fatalf("Failed to detect err %v is of type ForbiddenError. Got type: %T", err, u)
		}
	}
}