...

Source file src/github.com/go-kit/kit/transport/http/jsonrpc/error_test.go

Documentation: github.com/go-kit/kit/transport/http/jsonrpc

     1  package jsonrpc
     2  
     3  import "testing"
     4  
     5  func TestError(t *testing.T) {
     6  	wantCode := ParseError
     7  	sut := Error{
     8  		Code: wantCode,
     9  	}
    10  
    11  	gotCode := sut.ErrorCode()
    12  	if gotCode != wantCode {
    13  		t.Fatalf("want=%d, got=%d", gotCode, wantCode)
    14  	}
    15  
    16  	if sut.Error() == "" {
    17  		t.Fatal("Empty error string.")
    18  	}
    19  
    20  	want := "override"
    21  	sut.Message = want
    22  	got := sut.Error()
    23  	if sut.Error() != want {
    24  		t.Fatalf("overridden error message: want=%s, got=%s", want, got)
    25  	}
    26  
    27  }
    28  func TestErrorsSatisfyError(t *testing.T) {
    29  	errs := []interface{}{
    30  		parseError("parseError"),
    31  		invalidRequestError("invalidRequestError"),
    32  		methodNotFoundError("methodNotFoundError"),
    33  		invalidParamsError("invalidParamsError"),
    34  		internalError("internalError"),
    35  	}
    36  	for _, e := range errs {
    37  		err, ok := e.(error)
    38  		if !ok {
    39  			t.Fatalf("Couldn't assert %s as error.", e)
    40  		}
    41  		errString := err.Error()
    42  		if errString == "" {
    43  			t.Fatal("Empty error string")
    44  		}
    45  
    46  		ec, ok := e.(ErrorCoder)
    47  		if !ok {
    48  			t.Fatalf("Couldn't assert %s as ErrorCoder.", e)
    49  		}
    50  		if ErrorMessage(ec.ErrorCode()) == "" {
    51  			t.Fatalf("Error type %s returned code of %d, which does not map to error string", e, ec.ErrorCode())
    52  		}
    53  	}
    54  }
    55  

View as plain text