Skip to content

Commit 99bff90

Browse files
committed
Fix CI test failures: PromptManager::add, resource counts, and icon_tool
- PromptManager::add() now properly sets stored.name before storing - Updated api_basic.cpp to expect 4 resources (includes icon resource) - Updated api_advanced.cpp to expect 3 resource templates - Added icon_tool to test mock for client_api_icons tests
1 parent 4d210d0 commit 99bff90

4 files changed

Lines changed: 14 additions & 4 deletions

File tree

include/fastmcpp/prompts/manager.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ class PromptManager
1515
public:
1616
void add(const std::string& name, const Prompt& p)
1717
{
18-
prompts_[name] = p;
18+
Prompt stored = p;
19+
stored.name = name;
20+
prompts_[name] = stored;
1921
}
2022

2123
void register_prompt(const Prompt& p)

tests/client/api_advanced.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ void test_list_resource_templates()
294294
client::Client c(std::make_unique<client::LoopbackTransport>(srv));
295295

296296
auto result = c.list_resource_templates_mcp();
297-
assert(result.resourceTemplates.size() == 2);
297+
assert(result.resourceTemplates.size() == 3);
298298
assert(result._meta.has_value());
299299
assert(result._meta->value("hasMore", true) == false);
300300

tests/client/api_basic.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ void test_list_resources()
110110

111111
auto resources = c.list_resources();
112112

113-
assert(resources.size() == 3);
113+
assert(resources.size() == 4);
114114
assert(resources[0].uri == "file:///readme.txt");
115115
assert(resources[0].name == "readme.txt");
116116
assert(resources[0].mimeType.value_or("") == "text/plain");

tests/client/test_helpers.hpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,15 @@ std::shared_ptr<server::Server> create_tool_server()
115115
{"format", "date-time"}}}}},
116116
{"required", Json::array({"id", "timestamp"})}}}}},
117117
{"mode", Json{{"enum", Json::array({"fast", "slow"})}}}}},
118-
{"required", Json::array({"items", "mode"})}})};
118+
{"required", Json::array({"items", "mode"})}}),
119+
// Tool with icons for icon tests
120+
make_tool("icon_tool", "Tool with icons", Json{{"type", "object"}},
121+
std::nullopt, // outputSchema
122+
std::string("My Icon Tool"), // title
123+
std::vector<fastmcpp::Icon>{
124+
fastmcpp::Icon{"https://example.com/icon.png", std::string("image/png"), std::nullopt},
125+
fastmcpp::Icon{"data:image/svg+xml;base64,PHN2Zz48L3N2Zz4=", std::string("image/svg+xml"),
126+
std::vector<std::string>{"48x48", "any"}}})};
119127

120128
// Store last received meta for testing
121129
static Json last_received_meta = nullptr;

0 commit comments

Comments
 (0)