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()) }