ruby-sdk/test/model_context_protocol/json_rpc/error_test.rb
Topher Bullock a4df3b8688 Internal Release v0.1.1
- implement `Prompt`
- adjust Tool approach
- update readme for tool calling
- document usage of `Prompt`
2025-05-08 17:37:27 -04:00

63 lines
2 KiB
Ruby

# frozen_string_literal: true
require "test_helper"
module ModelContextProtocol
module JsonRPC
class ErrorTest < ActiveSupport::TestCase
test "Error#initialize sets attributes" do
code = -32700
message = "Test error"
data = { foo: "bar" }
error = Error.new(code: code, message: message, data: data)
assert_equal code, error.code
assert_equal message, error.message
assert_equal data, error.data
end
test "Error#to_h returns hash representation" do
error = Error.new(code: -32700, message: "Test error", data: { foo: "bar" })
expected = {
code: -32700,
message: "Test error",
data: { foo: "bar" },
}
assert_equal expected, error.to_h
end
test "Error#to_h excludes nil data" do
error = Error.new(code: -32700, message: "Test error", data: nil)
expected = {
code: -32700,
message: "Test error",
}
assert_equal expected, error.to_h
end
test "InvalidRequestError sets correct code" do
error = InvalidRequestError.new(message: "Invalid request")
assert_equal Error::INVALID_REQUEST_CODE, error.code
assert_equal "Invalid request", error.message
end
test "ParseError sets correct code" do
error = ParseError.new(message: "Parse error")
assert_equal Error::PARSE_ERROR_CODE, error.code
assert_equal "Parse error", error.message
end
test "MethodNotFoundError sets correct code" do
error = MethodNotFoundError.new(message: "Method not found")
assert_equal Error::METHOD_NOT_FOUND_CODE, error.code
assert_equal "Method not found", error.message
end
test "InvalidParamsError sets correct code" do
error = InvalidParamsError.new(message: "Invalid params")
assert_equal Error::INVALID_PARAMS_CODE, error.code
assert_equal "Invalid params", error.message
end
end
end
end