71 lines
1.7 KiB
Go
71 lines
1.7 KiB
Go
package errors
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
)
|
|
|
|
func TestNew(t *testing.T) {
|
|
suite.Run(t, new(NewTestSuite))
|
|
}
|
|
|
|
type NewTestSuite struct {
|
|
suite.Suite
|
|
}
|
|
|
|
func (s *NewTestSuite) TestNotFound() {
|
|
msg := "I can't see you"
|
|
var err ResponsableError = NewNotFound(msg)
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal(http.StatusNotFound, err.Status())
|
|
s.Assert().Equal(msg, err.Msg())
|
|
s.Assert().Equal(msg, err.Error())
|
|
}
|
|
|
|
func (s *NewTestSuite) TestUnauthorized() {
|
|
var err ResponsableError = NewUnauthorized()
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal(http.StatusUnauthorized, err.Status())
|
|
s.Assert().Equal("Unauthorized", err.Msg())
|
|
}
|
|
|
|
func (s *NewTestSuite) TestForbidden() {
|
|
var err ResponsableError = NewForbidden()
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal(http.StatusForbidden, err.Status())
|
|
s.Assert().Equal("Forbidden", err.Msg())
|
|
}
|
|
|
|
func (s *NewTestSuite) TestNotFoundDefaultMsg() {
|
|
msg := "Not Found"
|
|
var err ResponsableError = NewNotFound("")
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal(msg, err.Msg())
|
|
s.Assert().Equal(msg, err.Error())
|
|
}
|
|
|
|
func (s *NewTestSuite) TestBadRequest() {
|
|
msg := "I can't see you"
|
|
var err ResponsableError = NewBadRequest(msg)
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal(http.StatusBadRequest, err.Status())
|
|
s.Assert().Equal(msg, err.Msg())
|
|
s.Assert().Equal(msg, err.Error())
|
|
}
|
|
|
|
func (s *NewTestSuite) TestBadRequestDefaultMsg() {
|
|
msg := "Bad Request"
|
|
var err ResponsableError = NewBadRequest("")
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal(msg, err.Msg())
|
|
s.Assert().Equal(msg, err.Error())
|
|
}
|
|
|
|
func (s *NewTestSuite) TestInternal() {
|
|
var err ResponsableError = NewInternalError("%d > %d", 42, 13)
|
|
s.Assert().Error(err)
|
|
s.Assert().Equal("42 > 13", err.Error())
|
|
s.Assert().Equal("Unknown Error", err.Msg())
|
|
}
|