Skip to content

Commit eed1338

Browse files
committed
tests
1 parent b663e4e commit eed1338

File tree

10 files changed

+16
-12
lines changed

10 files changed

+16
-12
lines changed

lib/mcp.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
require_relative "mcp/resource_template"
1616
require_relative "mcp/server"
1717
require_relative "mcp/server/transports/stdio_transport"
18-
require_relative "mcp/string_utils"
1918
require_relative "mcp/tool"
2019
require_relative "mcp/tool/input_schema"
2120
require_relative "mcp/tool/response"

lib/mcp/prompt.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# frozen_string_literal: true
33

44
module MCP
5-
module Prompt
5+
class Prompt
66
attr_reader :name, :description, :arguments, :to_h
77

88
class << self

lib/mcp/prompt/argument.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# frozen_string_literal: true
33

44
module MCP
5-
module Prompt
5+
class Prompt
66
class Argument
77
attr_reader :name, :description, :required, :to_h
88

lib/mcp/prompt/message.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# frozen_string_literal: true
33

44
module MCP
5-
module Prompt
5+
class Prompt
66
class Message
77
attr_reader :role, :content
88

lib/mcp/prompt/result.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# frozen_string_literal: true
33

44
module MCP
5-
module Prompt
5+
class Prompt
66
class Result
77
attr_reader :description, :messages
88

lib/mcp/tool/annotations.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
module MCP
4-
module Tool
4+
class Tool
55
class Annotations
66
attr_reader :title, :read_only_hint, :destructive_hint, :idempotent_hint, :open_world_hint, :to_h
77

lib/mcp/tool/input_schema.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# frozen_string_literal: true
22

33
module MCP
4-
module Tool
4+
class Tool
55
class InputSchema
66
attr_reader :properties, :required, :to_h
77

88
def initialize(properties: {}, required: [])
9-
@properties = properties
10-
@required = required
9+
@properties = properties.transform_keys(&:to_sym)
10+
@required = required.map(&:to_sym)
1111

1212
@to_h = {
1313
type: "object",

lib/mcp/tool/response.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
module MCP
4-
module Tool
4+
class Tool
55
class Response
66
attr_reader :content, :is_error
77

test/mcp/tool/input_schema_test.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@
33
require "test_helper"
44

55
module MCP
6-
module Tool
6+
class Tool
77
class InputSchemaTest < ActiveSupport::TestCase
88
test "required arguments are converted to symbols" do
99
input_schema = InputSchema.new(properties: { message: { type: "string" } }, required: ["message"])
1010
assert_equal [:message], input_schema.required
1111
end
1212

13+
test "properties keys are converted to symbols" do
14+
input_schema = InputSchema.new(properties: { "message" => { type: "string" } }, required: [:message])
15+
assert_equal({ message: { type: "string" } }, input_schema.properties)
16+
end
17+
1318
test "to_h returns a hash representation of the input schema" do
1419
input_schema = InputSchema.new(properties: { message: { type: "string" } }, required: [:message])
1520
assert_equal(

test/mcp/tool_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class ToolTest < ActiveSupport::TestCase
2121
end
2222

2323
test "#to_h returns a hash with name, description, and inputSchema" do
24-
tool = Tool.define(name: "mock_tool", description: "a mock tool for testing")
24+
tool = Tool.define(name: "mock_tool", description: "a mock tool for testing") {}
2525
assert_equal tool.to_h, { name: "mock_tool", description: "a mock tool for testing" }
2626
end
2727

0 commit comments

Comments
 (0)