mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-18 10:50:44 +00:00
Co-authored-by: Jordan Krage <jmank88@gmail.com>
This commit is contained in:
parent
02eb1d5375
commit
18c9efa71d
1 changed files with 47 additions and 47 deletions
|
|
@ -57,53 +57,6 @@ func TestClientNullResponse(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClientBatchRequest_len(t *testing.T) {
|
|
||||||
b, err := json.Marshal([]jsonrpcMessage{
|
|
||||||
{Version: "2.0", ID: json.RawMessage("1"), Method: "foo", Result: json.RawMessage(`"0x1"`)},
|
|
||||||
{Version: "2.0", ID: json.RawMessage("2"), Method: "bar", Result: json.RawMessage(`"0x2"`)},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal("failed to encode jsonrpc message:", err)
|
|
||||||
}
|
|
||||||
s := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
|
|
||||||
_, err := rw.Write(b)
|
|
||||||
if err != nil {
|
|
||||||
t.Error("failed to write response:", err)
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
t.Cleanup(s.Close)
|
|
||||||
|
|
||||||
client, err := Dial(s.URL)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal("failed to dial test server:", err)
|
|
||||||
}
|
|
||||||
defer client.Close()
|
|
||||||
|
|
||||||
t.Run("too-few", func(t *testing.T) {
|
|
||||||
batch := []BatchElem{
|
|
||||||
{Method: "foo"},
|
|
||||||
{Method: "bar"},
|
|
||||||
{Method: "baz"},
|
|
||||||
}
|
|
||||||
ctx, cancelFn := context.WithTimeout(context.Background(), time.Second)
|
|
||||||
defer cancelFn()
|
|
||||||
if err := client.BatchCallContext(ctx, batch); !errors.Is(err, ErrBadResult) {
|
|
||||||
t.Errorf("expected %q but got: %v", ErrBadResult, err)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("too-many", func(t *testing.T) {
|
|
||||||
batch := []BatchElem{
|
|
||||||
{Method: "foo"},
|
|
||||||
}
|
|
||||||
ctx, cancelFn := context.WithTimeout(context.Background(), time.Second)
|
|
||||||
defer cancelFn()
|
|
||||||
if err := client.BatchCallContext(ctx, batch); !errors.Is(err, ErrBadResult) {
|
|
||||||
t.Errorf("expected %q but got: %v", ErrBadResult, err)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestClientRequest(t *testing.T) {
|
func TestClientRequest(t *testing.T) {
|
||||||
server := newTestServer()
|
server := newTestServer()
|
||||||
defer server.Stop()
|
defer server.Stop()
|
||||||
|
|
@ -216,6 +169,53 @@ func TestClientBatchRequest(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestClientBatchRequest_len(t *testing.T) {
|
||||||
|
b, err := json.Marshal([]jsonrpcMessage{
|
||||||
|
{Version: "2.0", ID: json.RawMessage("1"), Method: "foo", Result: json.RawMessage(`"0x1"`)},
|
||||||
|
{Version: "2.0", ID: json.RawMessage("2"), Method: "bar", Result: json.RawMessage(`"0x2"`)},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal("failed to encode jsonrpc message:", err)
|
||||||
|
}
|
||||||
|
s := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
|
||||||
|
_, err := rw.Write(b)
|
||||||
|
if err != nil {
|
||||||
|
t.Error("failed to write response:", err)
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
t.Cleanup(s.Close)
|
||||||
|
|
||||||
|
client, err := Dial(s.URL)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal("failed to dial test server:", err)
|
||||||
|
}
|
||||||
|
defer client.Close()
|
||||||
|
|
||||||
|
t.Run("too-few", func(t *testing.T) {
|
||||||
|
batch := []BatchElem{
|
||||||
|
{Method: "foo"},
|
||||||
|
{Method: "bar"},
|
||||||
|
{Method: "baz"},
|
||||||
|
}
|
||||||
|
ctx, cancelFn := context.WithTimeout(context.Background(), time.Second)
|
||||||
|
defer cancelFn()
|
||||||
|
if err := client.BatchCallContext(ctx, batch); !errors.Is(err, ErrBadResult) {
|
||||||
|
t.Errorf("expected %q but got: %v", ErrBadResult, err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("too-many", func(t *testing.T) {
|
||||||
|
batch := []BatchElem{
|
||||||
|
{Method: "foo"},
|
||||||
|
}
|
||||||
|
ctx, cancelFn := context.WithTimeout(context.Background(), time.Second)
|
||||||
|
defer cancelFn()
|
||||||
|
if err := client.BatchCallContext(ctx, batch); !errors.Is(err, ErrBadResult) {
|
||||||
|
t.Errorf("expected %q but got: %v", ErrBadResult, err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func TestClientNotify(t *testing.T) {
|
func TestClientNotify(t *testing.T) {
|
||||||
server := newTestServer()
|
server := newTestServer()
|
||||||
defer server.Stop()
|
defer server.Stop()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue