12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package errors
- import (
- "fmt"
- "github.com/stretchr/testify/assert"
- "net/http"
- "testing"
- )
- func newError(errorname string) error {
- return fmt.Errorf("test%v", errorname)
- }
- func TestErrors(t *testing.T) {
- errmsg := newError("apiError")
- err := apiError{
- error: errmsg,
- statusCode: 0,
- }
- assert.Equal(t, err.HTTPErrorStatusCode(), err.statusCode)
- errmsg = newError("ErrorWithStatusCode")
- errcode := 1
- serr := NewErrorWithStatusCode(errmsg, errcode)
- apierr, ok := serr.(apiError)
- if !ok {
- t.Fatal("excepted err is apiError type")
- }
- assert.Equal(t, errcode, apierr.statusCode)
- errmsg = newError("NewBadRequestError")
- baderr := NewBadRequestError(errmsg)
- apierr, ok = baderr.(apiError)
- if !ok {
- t.Fatal("excepted err is apiError type")
- }
- assert.Equal(t, http.StatusBadRequest, apierr.statusCode)
- errmsg = newError("RequestForbiddenError")
- ferr := NewRequestForbiddenError(errmsg)
- apierr, ok = ferr.(apiError)
- if !ok {
- t.Fatal("excepted err is apiError type")
- }
- assert.Equal(t, http.StatusForbidden, apierr.statusCode)
- errmsg = newError("RequestNotFoundError")
- nerr := NewRequestNotFoundError(errmsg)
- apierr, ok = nerr.(apiError)
- if !ok {
- t.Fatal("excepted err is apiError type")
- }
- assert.Equal(t, http.StatusNotFound, apierr.statusCode)
- errmsg = newError("RequestConflictError")
- cerr := NewRequestConflictError(errmsg)
- apierr, ok = cerr.(apiError)
- if !ok {
- t.Fatal("excepted err is apiError type")
- }
- assert.Equal(t, http.StatusConflict, apierr.statusCode)
- }
|