blob: 6e867fbfa4674f6ae9a888fb2c01e9c9fa2ffe40 [file] [log] [blame]
package endpoints
import (
"errors"
"net/http"
"reflect"
"testing"
)
func TestCustomErrorResponse(t *testing.T) {
tts := []*struct {
errMsg string
want *errorResponse
}{
{"Not Found: test msg", &errorResponse{
State: "APPLICATION_ERROR",
Name: "Not Found",
Msg: "test msg",
Code: http.StatusNotFound,
}},
{"Random error", &errorResponse{
State: "APPLICATION_ERROR",
Name: "Internal Server Error",
Msg: "Random error",
Code: http.StatusBadRequest,
}},
}
for i, tt := range tts {
err := errors.New(tt.errMsg)
res := newErrorResponse(err)
if !reflect.DeepEqual(res, tt.want) {
t.Errorf("%d: newErrorResponse(%q) = %#v; want %#v",
i, tt.errMsg, res, tt.want)
}
}
}
func TestAPIErrorResponse(t *testing.T) {
res := newErrorResponse(BadRequestError)
want := &errorResponse{
State: "APPLICATION_ERROR",
Name: res.Name,
Msg: res.Msg,
Code: res.Code,
}
if !reflect.DeepEqual(res, want) {
t.Errorf("newErrorResponse(%#v) = %#v; want %#v",
BadRequestError, res, want)
}
}