classifier_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package retrier
  2. import (
  3. "errors"
  4. "testing"
  5. )
  6. var (
  7. errFoo = errors.New("FOO")
  8. errBar = errors.New("BAR")
  9. errBaz = errors.New("BAZ")
  10. )
  11. func TestDefaultClassifier(t *testing.T) {
  12. c := DefaultClassifier{}
  13. if c.Classify(nil) != Succeed {
  14. t.Error("default misclassified nil")
  15. }
  16. if c.Classify(errFoo) != Retry {
  17. t.Error("default misclassified foo")
  18. }
  19. if c.Classify(errBar) != Retry {
  20. t.Error("default misclassified bar")
  21. }
  22. if c.Classify(errBaz) != Retry {
  23. t.Error("default misclassified baz")
  24. }
  25. }
  26. func TestWhitelistClassifier(t *testing.T) {
  27. c := WhitelistClassifier{errFoo, errBar}
  28. if c.Classify(nil) != Succeed {
  29. t.Error("whitelist misclassified nil")
  30. }
  31. if c.Classify(errFoo) != Retry {
  32. t.Error("whitelist misclassified foo")
  33. }
  34. if c.Classify(errBar) != Retry {
  35. t.Error("whitelist misclassified bar")
  36. }
  37. if c.Classify(errBaz) != Fail {
  38. t.Error("whitelist misclassified baz")
  39. }
  40. }
  41. func TestBlacklistClassifier(t *testing.T) {
  42. c := BlacklistClassifier{errBar}
  43. if c.Classify(nil) != Succeed {
  44. t.Error("blacklist misclassified nil")
  45. }
  46. if c.Classify(errFoo) != Retry {
  47. t.Error("blacklist misclassified foo")
  48. }
  49. if c.Classify(errBar) != Fail {
  50. t.Error("blacklist misclassified bar")
  51. }
  52. if c.Classify(errBaz) != Retry {
  53. t.Error("blacklist misclassified baz")
  54. }
  55. }