From 185222400139de9c4ef0a0901294e346d916333a Mon Sep 17 00:00:00 2001 From: George Goranov Date: Wed, 16 Jun 2021 11:58:22 +0300 Subject: [PATCH] Expose internal errors. (#1387) --- error.go | 14 ++++++++++++++ error_test.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 error.go create mode 100644 error_test.go diff --git a/error.go b/error.go new file mode 100644 index 00000000..82389628 --- /dev/null +++ b/error.go @@ -0,0 +1,14 @@ +package fiber + +import "github.com/gofiber/fiber/v2/internal/schema" + +type ( + // Conversion error exposes the internal schema.ConversionError for public use. + ConversionError = schema.ConversionError + // UnknownKeyError error exposes the internal schema.UnknownKeyError for public use. + UnknownKeyError = schema.UnknownKeyError + // EmptyFieldError error exposes the internal schema.EmptyFieldError for public use. + EmptyFieldError = schema.EmptyFieldError + // MultiError error exposes the internal schema.MultiError for public use. + MultiError = schema.MultiError +) diff --git a/error_test.go b/error_test.go new file mode 100644 index 00000000..92bab00e --- /dev/null +++ b/error_test.go @@ -0,0 +1,29 @@ +package fiber + +import ( + "errors" + "testing" + + "github.com/gofiber/fiber/v2/internal/schema" + "github.com/gofiber/fiber/v2/utils" +) + +func TestConversionError(t *testing.T) { + ok := errors.As(ConversionError{}, &schema.ConversionError{}) + utils.AssertEqual(t, true, ok) +} + +func TestUnknownKeyError(t *testing.T) { + ok := errors.As(UnknownKeyError{}, &schema.UnknownKeyError{}) + utils.AssertEqual(t, true, ok) +} + +func TestEmptyFieldError(t *testing.T) { + ok := errors.As(EmptyFieldError{}, &schema.EmptyFieldError{}) + utils.AssertEqual(t, true, ok) +} + +func TestMultiError(t *testing.T) { + ok := errors.As(MultiError{}, &schema.MultiError{}) + utils.AssertEqual(t, true, ok) +}