Add 401 and 403 default errors

This commit is contained in:
Dan Jones 2024-02-07 08:57:14 -06:00
commit 0e12c479be
2 changed files with 29 additions and 5 deletions

10
new.go
View file

@ -20,6 +20,16 @@ func NewBadRequest(format string, parts ...any) SettableError {
return Errorf(http.StatusBadRequest, format, parts...)
}
// A 401 error with the error message "Unauthorized"
func NewUnauthorized() SettableError {
return Errorf(http.StatusUnauthorized, "Unauthorized")
}
// A 403 error with the error message "Forbidden"
func NewForbidden() SettableError {
return Errorf(http.StatusForbidden, "Forbidden")
}
// Represents a 500 error. For this error, the user error is preset to "Unknown Error".
func NewInternalError(format string, parts ...any) SettableError {
status := http.StatusInternalServerError

View file

@ -18,16 +18,30 @@ type NewTestSuite struct {
func (s *NewTestSuite) TestNotFound() {
msg := "I can't see you"
var err ResponsableError = NewNotFound(msg)
s.Assert().NotNil(err)
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().NotNil(err)
s.Assert().Error(err)
s.Assert().Equal(msg, err.Msg())
s.Assert().Equal(msg, err.Error())
}
@ -35,7 +49,7 @@ func (s *NewTestSuite) TestNotFoundDefaultMsg() {
func (s *NewTestSuite) TestBadRequest() {
msg := "I can't see you"
var err ResponsableError = NewBadRequest(msg)
s.Assert().NotNil(err)
s.Assert().Error(err)
s.Assert().Equal(http.StatusBadRequest, err.Status())
s.Assert().Equal(msg, err.Msg())
s.Assert().Equal(msg, err.Error())
@ -44,14 +58,14 @@ func (s *NewTestSuite) TestBadRequest() {
func (s *NewTestSuite) TestBadRequestDefaultMsg() {
msg := "Bad Request"
var err ResponsableError = NewBadRequest("")
s.Assert().NotNil(err)
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().NotNil(err)
s.Assert().Error(err)
s.Assert().Equal("42 > 13", err.Error())
s.Assert().Equal("Unknown Error", err.Msg())
}