helpers_test.go 5.7 KB

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