1package errdefs // import "github.com/docker/docker/errdefs"
2
3import (
4	"errors"
5	"testing"
6)
7
8var errTest = errors.New("this is a test")
9
10type causal interface {
11	Cause() error
12}
13
14func TestNotFound(t *testing.T) {
15	if IsNotFound(errTest) {
16		t.Fatalf("did not expect not found error, got %T", errTest)
17	}
18	e := NotFound(errTest)
19	if !IsNotFound(e) {
20		t.Fatalf("expected not found error, got: %T", e)
21	}
22	if cause := e.(causal).Cause(); cause != errTest {
23		t.Fatalf("causual should be errTest, got: %v", cause)
24	}
25}
26
27func TestConflict(t *testing.T) {
28	if IsConflict(errTest) {
29		t.Fatalf("did not expect conflict error, got %T", errTest)
30	}
31	e := Conflict(errTest)
32	if !IsConflict(e) {
33		t.Fatalf("expected conflict error, got: %T", e)
34	}
35	if cause := e.(causal).Cause(); cause != errTest {
36		t.Fatalf("causual should be errTest, got: %v", cause)
37	}
38}
39
40func TestForbidden(t *testing.T) {
41	if IsForbidden(errTest) {
42		t.Fatalf("did not expect forbidden error, got %T", errTest)
43	}
44	e := Forbidden(errTest)
45	if !IsForbidden(e) {
46		t.Fatalf("expected forbidden error, got: %T", e)
47	}
48	if cause := e.(causal).Cause(); cause != errTest {
49		t.Fatalf("causual should be errTest, got: %v", cause)
50	}
51}
52
53func TestInvalidParameter(t *testing.T) {
54	if IsInvalidParameter(errTest) {
55		t.Fatalf("did not expect invalid argument error, got %T", errTest)
56	}
57	e := InvalidParameter(errTest)
58	if !IsInvalidParameter(e) {
59		t.Fatalf("expected invalid argument error, got %T", e)
60	}
61	if cause := e.(causal).Cause(); cause != errTest {
62		t.Fatalf("causual should be errTest, got: %v", cause)
63	}
64}
65
66func TestNotImplemented(t *testing.T) {
67	if IsNotImplemented(errTest) {
68		t.Fatalf("did not expect not implemented error, got %T", errTest)
69	}
70	e := NotImplemented(errTest)
71	if !IsNotImplemented(e) {
72		t.Fatalf("expected not implemented error, got %T", e)
73	}
74	if cause := e.(causal).Cause(); cause != errTest {
75		t.Fatalf("causual should be errTest, got: %v", cause)
76	}
77}
78
79func TestNotModified(t *testing.T) {
80	if IsNotModified(errTest) {
81		t.Fatalf("did not expect not modified error, got %T", errTest)
82	}
83	e := NotModified(errTest)
84	if !IsNotModified(e) {
85		t.Fatalf("expected not modified error, got %T", e)
86	}
87	if cause := e.(causal).Cause(); cause != errTest {
88		t.Fatalf("causual should be errTest, got: %v", cause)
89	}
90}
91
92func TestAlreadyExists(t *testing.T) {
93	if IsAlreadyExists(errTest) {
94		t.Fatalf("did not expect already exists error, got %T", errTest)
95	}
96	e := AlreadyExists(errTest)
97	if !IsAlreadyExists(e) {
98		t.Fatalf("expected already exists error, got %T", e)
99	}
100	if cause := e.(causal).Cause(); cause != errTest {
101		t.Fatalf("causual should be errTest, got: %v", cause)
102	}
103}
104
105func TestUnauthorized(t *testing.T) {
106	if IsUnauthorized(errTest) {
107		t.Fatalf("did not expect unauthorized error, got %T", errTest)
108	}
109	e := Unauthorized(errTest)
110	if !IsUnauthorized(e) {
111		t.Fatalf("expected unauthorized error, got %T", e)
112	}
113	if cause := e.(causal).Cause(); cause != errTest {
114		t.Fatalf("causual should be errTest, got: %v", cause)
115	}
116}
117
118func TestUnknown(t *testing.T) {
119	if IsUnknown(errTest) {
120		t.Fatalf("did not expect unknown error, got %T", errTest)
121	}
122	e := Unknown(errTest)
123	if !IsUnknown(e) {
124		t.Fatalf("expected unknown error, got %T", e)
125	}
126	if cause := e.(causal).Cause(); cause != errTest {
127		t.Fatalf("causual should be errTest, got: %v", cause)
128	}
129}
130
131func TestCancelled(t *testing.T) {
132	if IsCancelled(errTest) {
133		t.Fatalf("did not expect cancelled error, got %T", errTest)
134	}
135	e := Cancelled(errTest)
136	if !IsCancelled(e) {
137		t.Fatalf("expected cancelled error, got %T", e)
138	}
139	if cause := e.(causal).Cause(); cause != errTest {
140		t.Fatalf("causual should be errTest, got: %v", cause)
141	}
142}
143
144func TestDeadline(t *testing.T) {
145	if IsDeadline(errTest) {
146		t.Fatalf("did not expect deadline error, got %T", errTest)
147	}
148	e := Deadline(errTest)
149	if !IsDeadline(e) {
150		t.Fatalf("expected deadline error, got %T", e)
151	}
152	if cause := e.(causal).Cause(); cause != errTest {
153		t.Fatalf("causual should be errTest, got: %v", cause)
154	}
155}
156
157func TestDataLoss(t *testing.T) {
158	if IsDataLoss(errTest) {
159		t.Fatalf("did not expect data loss error, got %T", errTest)
160	}
161	e := DataLoss(errTest)
162	if !IsDataLoss(e) {
163		t.Fatalf("expected data loss error, got %T", e)
164	}
165	if cause := e.(causal).Cause(); cause != errTest {
166		t.Fatalf("causual should be errTest, got: %v", cause)
167	}
168}
169
170func TestUnavailable(t *testing.T) {
171	if IsUnavailable(errTest) {
172		t.Fatalf("did not expect unavaillable error, got %T", errTest)
173	}
174	e := Unavailable(errTest)
175	if !IsUnavailable(e) {
176		t.Fatalf("expected unavaillable error, got %T", e)
177	}
178	if cause := e.(causal).Cause(); cause != errTest {
179		t.Fatalf("causual should be errTest, got: %v", cause)
180	}
181}
182
183func TestSystem(t *testing.T) {
184	if IsSystem(errTest) {
185		t.Fatalf("did not expect system error, got %T", errTest)
186	}
187	e := System(errTest)
188	if !IsSystem(e) {
189		t.Fatalf("expected system error, got %T", e)
190	}
191	if cause := e.(causal).Cause(); cause != errTest {
192		t.Fatalf("causual should be errTest, got: %v", cause)
193	}
194}
195