helpers_test.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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. e := NotFound(errTest)
  12. if !IsNotFound(e) {
  13. t.Fatalf("expected not found error, got: %T", e)
  14. }
  15. if cause := e.(causal).Cause(); cause != errTest {
  16. t.Fatalf("causual should be errTest, got: %v", cause)
  17. }
  18. }
  19. func TestConflict(t *testing.T) {
  20. e := Conflict(errTest)
  21. if !IsConflict(e) {
  22. t.Fatalf("expected conflcit error, got: %T", e)
  23. }
  24. if cause := e.(causal).Cause(); cause != errTest {
  25. t.Fatalf("causual should be errTest, got: %v", cause)
  26. }
  27. }
  28. func TestForbidden(t *testing.T) {
  29. e := Forbidden(errTest)
  30. if !IsForbidden(e) {
  31. t.Fatalf("expected forbidden 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. }
  37. func TestInvalidParameter(t *testing.T) {
  38. e := InvalidParameter(errTest)
  39. if !IsInvalidParameter(e) {
  40. t.Fatalf("expected invalid argument error, got %T", e)
  41. }
  42. if cause := e.(causal).Cause(); cause != errTest {
  43. t.Fatalf("causual should be errTest, got: %v", cause)
  44. }
  45. }
  46. func TestNotImplemented(t *testing.T) {
  47. e := NotImplemented(errTest)
  48. if !IsNotImplemented(e) {
  49. t.Fatalf("expected not implemented error, got %T", e)
  50. }
  51. if cause := e.(causal).Cause(); cause != errTest {
  52. t.Fatalf("causual should be errTest, got: %v", cause)
  53. }
  54. }
  55. func TestNotModified(t *testing.T) {
  56. e := NotModified(errTest)
  57. if !IsNotModified(e) {
  58. t.Fatalf("expected not modified error, got %T", e)
  59. }
  60. if cause := e.(causal).Cause(); cause != errTest {
  61. t.Fatalf("causual should be errTest, got: %v", cause)
  62. }
  63. }
  64. func TestAlreadyExists(t *testing.T) {
  65. e := AlreadyExists(errTest)
  66. if !IsAlreadyExists(e) {
  67. t.Fatalf("expected already exists error, got %T", e)
  68. }
  69. if cause := e.(causal).Cause(); cause != errTest {
  70. t.Fatalf("causual should be errTest, got: %v", cause)
  71. }
  72. }
  73. func TestUnauthorized(t *testing.T) {
  74. e := Unauthorized(errTest)
  75. if !IsUnauthorized(e) {
  76. t.Fatalf("expected unauthorized 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. }
  82. func TestUnknown(t *testing.T) {
  83. e := Unknown(errTest)
  84. if !IsUnknown(e) {
  85. t.Fatalf("expected unknown 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. func TestCancelled(t *testing.T) {
  92. e := Cancelled(errTest)
  93. if !IsCancelled(e) {
  94. t.Fatalf("expected canclled error, got %T", e)
  95. }
  96. if cause := e.(causal).Cause(); cause != errTest {
  97. t.Fatalf("causual should be errTest, got: %v", cause)
  98. }
  99. }
  100. func TestDeadline(t *testing.T) {
  101. e := Deadline(errTest)
  102. if !IsDeadline(e) {
  103. t.Fatalf("expected deadline error, got %T", e)
  104. }
  105. if cause := e.(causal).Cause(); cause != errTest {
  106. t.Fatalf("causual should be errTest, got: %v", cause)
  107. }
  108. }
  109. func TestIsDataLoss(t *testing.T) {
  110. e := DataLoss(errTest)
  111. if !IsDataLoss(e) {
  112. t.Fatalf("expected data loss error, got %T", e)
  113. }
  114. if cause := e.(causal).Cause(); cause != errTest {
  115. t.Fatalf("causual should be errTest, got: %v", cause)
  116. }
  117. }