48 lines
813 B
Go
48 lines
813 B
Go
|
package errors
|
||
|
|
||
|
import (
|
||
|
"net/http"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestErrors(t *testing.T) {
|
||
|
testData := []*Error{
|
||
|
&Error{
|
||
|
Id: "test",
|
||
|
Code: 500,
|
||
|
Detail: "Internal server error",
|
||
|
Status: http.StatusText(500),
|
||
|
},
|
||
|
}
|
||
|
|
||
|
for _, e := range testData {
|
||
|
ne := New(e.Id, e.Detail, e.Code)
|
||
|
|
||
|
if e.Error() != ne.Error() {
|
||
|
t.Fatal("Expected %s got %s", e.Error(), ne.Error())
|
||
|
}
|
||
|
|
||
|
pe := Parse(ne.Error())
|
||
|
|
||
|
if pe == nil {
|
||
|
t.Fatal("Expected error got nil %v", pe)
|
||
|
}
|
||
|
|
||
|
if pe.Id != e.Id {
|
||
|
t.Fatal("Expected %s got %s", e.Id, pe.Id)
|
||
|
}
|
||
|
|
||
|
if pe.Detail != e.Detail {
|
||
|
t.Fatal("Expected %s got %s", e.Detail, pe.Detail)
|
||
|
}
|
||
|
|
||
|
if pe.Code != e.Code {
|
||
|
t.Fatal("Expected %s got %s", e.Code, pe.Code)
|
||
|
}
|
||
|
|
||
|
if pe.Status != e.Status {
|
||
|
t.Fatal("Expected %s got %s", e.Status, pe.Status)
|
||
|
}
|
||
|
}
|
||
|
}
|