Skip to content

Commit 89cab88

Browse files
committed
Add tests
1 parent 6885b6d commit 89cab88

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

handler_func_test.go

+20-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ type handler struct {
1616
F func(c context.Context, params *json.RawMessage) (interface{}, *Error)
1717
}
1818

19-
func (h handler) ServeJSONRPC(c context.Context, params *json.RawMessage) (interface{}, *Error) {
19+
func (h *handler) ServeJSONRPC(c context.Context, params *json.RawMessage) (interface{}, *Error) {
2020
return h.F(c, params)
2121
}
2222

@@ -47,11 +47,16 @@ func TestHandler(t *testing.T) {
4747
require.NoError(t, err)
4848
assert.NotNil(t, res.Error)
4949

50-
h := handler{}
51-
h.F = func(c context.Context, params *json.RawMessage) (interface{}, *Error) {
50+
h1 := &handler{}
51+
h1.F = func(c context.Context, params *json.RawMessage) (interface{}, *Error) {
5252
return "hello", nil
5353
}
54-
require.NoError(t, RegisterMethod("hello", h, nil, nil))
54+
require.NoError(t, RegisterMethod("hello", h1, nil, nil))
55+
h2 := &handler{}
56+
h2.F = func(c context.Context, params *json.RawMessage) (interface{}, *Error) {
57+
return nil, ErrInternal()
58+
}
59+
require.NoError(t, RegisterMethod("bye", h2, nil, nil))
5560

5661
rec = httptest.NewRecorder()
5762
r, err = http.NewRequest("", "", bytes.NewReader([]byte(`{"jsonrpc":"2.0","id":"test","method":"hello","params":{}}`)))
@@ -64,4 +69,15 @@ func TestHandler(t *testing.T) {
6469
require.NoError(t, err)
6570
assert.Nil(t, res.Error)
6671
assert.Equal(t, "hello", res.Result)
72+
73+
rec = httptest.NewRecorder()
74+
r, err = http.NewRequest("", "", bytes.NewReader([]byte(`{"jsonrpc":"2.0","id":"test","method":"bye","params":{}}`)))
75+
require.NoError(t, err)
76+
r.Header.Set("Content-Type", "application/json")
77+
78+
HandlerFunc(c, rec, r)
79+
res = Response{}
80+
err = json.NewDecoder(rec.Body).Decode(&res)
81+
require.NoError(t, err)
82+
assert.NotNil(t, res.Error)
6783
}

method_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,5 @@ func SampleHandler() Handler {
6060
h.F = func(c context.Context, params *json.RawMessage) (result interface{}, err *Error) {
6161
return nil, nil
6262
}
63-
return h
63+
return &h
6464
}

0 commit comments

Comments
 (0)