mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-08 08:32:16 +01:00
109 lines
2.3 KiB
Go
109 lines
2.3 KiB
Go
package api
|
|
|
|
import (
|
|
"errors"
|
|
"net/http"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewSentinelHTTPError(t *testing.T) {
|
|
actual := NewSentinelHTTPError(http.StatusInternalServerError, "foo")
|
|
expect := SentinelHTTPError{
|
|
status: http.StatusInternalServerError,
|
|
message: "foo",
|
|
}
|
|
|
|
if !reflect.DeepEqual(actual, expect) {
|
|
t.Errorf("expected %v but got %v", expect, actual)
|
|
}
|
|
}
|
|
|
|
func TestSentinelHTTPError_Error(t *testing.T) {
|
|
err := SentinelHTTPError{
|
|
message: "foo",
|
|
}
|
|
|
|
actual := err.Error()
|
|
expect := "foo"
|
|
|
|
if actual != expect {
|
|
t.Errorf("expected '%s' but got '%s'", expect, actual)
|
|
}
|
|
}
|
|
|
|
func TestSentinelHTTPError_HTTPError(t *testing.T) {
|
|
actualStatus, actualMessage := SentinelHTTPError{
|
|
status: http.StatusInternalServerError,
|
|
message: "foo",
|
|
}.HTTPError()
|
|
|
|
expectStatus := http.StatusInternalServerError
|
|
expectMessage := "foo"
|
|
|
|
if actualStatus != expectStatus {
|
|
t.Errorf("expected %d but got %d", expectStatus, actualStatus)
|
|
}
|
|
|
|
if actualMessage != expectMessage {
|
|
t.Errorf("expected '%s' but got '%s'", expectMessage, actualMessage)
|
|
}
|
|
}
|
|
|
|
func TestSentinelWrappedError_Is(t *testing.T) {
|
|
errSentinel := SentinelHTTPError{}
|
|
|
|
err := sentinelWrappedError{
|
|
error: errors.New("foo"),
|
|
sentinel: errSentinel,
|
|
}
|
|
|
|
if !err.Is(errSentinel) {
|
|
t.Error("expected true")
|
|
}
|
|
}
|
|
|
|
func TestSentinelWrappedError_HTTPError(t *testing.T) {
|
|
expectStatus, expectMessage := SentinelHTTPError{
|
|
status: http.StatusInternalServerError,
|
|
message: "foo",
|
|
}.HTTPError()
|
|
|
|
actualStatus, actualMessage := sentinelWrappedError{
|
|
error: errors.New("foo"),
|
|
sentinel: SentinelHTTPError{
|
|
status: http.StatusInternalServerError,
|
|
message: "foo",
|
|
},
|
|
}.HTTPError()
|
|
|
|
if actualStatus != expectStatus {
|
|
t.Errorf("expected %d but got %d", expectStatus, actualStatus)
|
|
}
|
|
|
|
if actualMessage != expectMessage {
|
|
t.Errorf("expected '%s' but got '%s'", expectMessage, actualMessage)
|
|
}
|
|
}
|
|
|
|
func TestWrapError(t *testing.T) {
|
|
errFoo := errors.New("foo")
|
|
|
|
expect := sentinelWrappedError{
|
|
error: errFoo,
|
|
sentinel: SentinelHTTPError{
|
|
status: http.StatusInternalServerError,
|
|
message: "foo",
|
|
},
|
|
}
|
|
|
|
actual := WrapError(errFoo, SentinelHTTPError{
|
|
status: http.StatusInternalServerError,
|
|
message: "foo",
|
|
})
|
|
|
|
if !reflect.DeepEqual(actual, expect) {
|
|
t.Errorf("expected %v but got %v", expect, actual)
|
|
}
|
|
}
|