(t *testing.T, err error, wantCode, wantMessage string)
| 385 | } |
| 386 | |
| 387 | func assertCanvasJSONRPCError(t *testing.T, err error, wantCode, wantMessage string) { |
| 388 | t.Helper() |
| 389 | |
| 390 | if err == nil { |
| 391 | t.Fatal("expected error") |
| 392 | } |
| 393 | rpcErr, ok := err.(*jsonrpc2.Error) |
| 394 | if !ok { |
| 395 | t.Fatalf("expected *jsonrpc2.Error, got %T", err) |
| 396 | } |
| 397 | if rpcErr.Code != -32603 { |
| 398 | t.Fatalf("expected internal-error code, got %d", rpcErr.Code) |
| 399 | } |
| 400 | |
| 401 | var data map[string]string |
| 402 | if err := json.Unmarshal(rpcErr.Data, &data); err != nil { |
| 403 | t.Fatalf("invalid error data: %v", err) |
| 404 | } |
| 405 | if data["code"] != wantCode { |
| 406 | t.Fatalf("expected code=%s, got %q", wantCode, data["code"]) |
| 407 | } |
| 408 | if wantMessage != "" && data["message"] != wantMessage { |
| 409 | t.Fatalf("expected message=%q, got %q", wantMessage, data["message"]) |
| 410 | } |
| 411 | } |
| 412 | |
| 413 | func newTestCanvasSession(sessionID string) *Session { |
| 414 | session := &Session{ |
no outgoing calls
no test coverage detected
searching dependent graphs…