micro/errors/errors_test.go
2016-04-06 18:03:27 +01:00

48 lines
819 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.Fatalf("Expected %s got %s", e.Error(), ne.Error())
}
pe := Parse(ne.Error())
if pe == nil {
t.Fatalf("Expected error got nil %v", pe)
}
if pe.Id != e.Id {
t.Fatalf("Expected %s got %s", e.Id, pe.Id)
}
if pe.Detail != e.Detail {
t.Fatalf("Expected %s got %s", e.Detail, pe.Detail)
}
if pe.Code != e.Code {
t.Fatalf("Expected %s got %s", e.Code, pe.Code)
}
if pe.Status != e.Status {
t.Fatalf("Expected %s got %s", e.Status, pe.Status)
}
}
}