48 lines
		
	
	
		
			819 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			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)
 | |
| 		}
 | |
| 	}
 | |
| }
 |