Skip to content

Commit fd0c7a3

Browse files
Copilotstephentoub
andcommitted
Address code review: rename cryptic variables and add missing no-meta tests
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
1 parent d5be659 commit fd0c7a3

4 files changed

Lines changed: 46 additions & 3 deletions

File tree

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerPrompt.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public override async ValueTask<GetPromptResult> GetAsync(
214214

215215
GetPromptResult getPromptResult = result switch
216216
{
217-
GetPromptResult gpr => gpr,
217+
GetPromptResult existingResult => existingResult,
218218

219219
string text => new()
220220
{

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerResource.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ public override async ValueTask<ReadResourceResult> ReadAsync(
377377
// And process the result.
378378
ReadResourceResult readResourceResult = result switch
379379
{
380-
ReadResourceResult rrr => rrr,
380+
ReadResourceResult existingResult => existingResult,
381381

382382
ResourceContents content => new()
383383
{

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerTool.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ public override async ValueTask<CallToolResult> InvokeAsync(
303303
StructuredContent = structuredContent,
304304
},
305305

306-
CallToolResult ctr => ctr,
306+
CallToolResult existingResult => existingResult,
307307

308308
_ => new()
309309
{

tests/ModelContextProtocol.Tests/Server/McpMetaAttributeTests.cs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,6 +1386,40 @@ public async Task McpServerTool_InvokeAsync_WithNoMeta_ResultHasNoMeta()
13861386
Assert.Null(result.Meta);
13871387
}
13881388

1389+
[Fact]
1390+
public async Task McpServerPrompt_GetAsync_WithNoMeta_ResultHasNoMeta()
1391+
{
1392+
var method = typeof(TestPromptMetaPropagationClass).GetMethod(nameof(TestPromptMetaPropagationClass.PromptWithoutMeta))!;
1393+
var prompt = McpServerPrompt.Create(method, target: null);
1394+
1395+
// Verify prompt has no meta defined
1396+
Assert.Null(prompt.ProtocolPrompt.Meta);
1397+
1398+
var result = await prompt.GetAsync(
1399+
new RequestContext<GetPromptRequestParams>(new Moq.Mock<McpServer>().Object, CreateTestJsonRpcRequest()) { Params = new() { Name = "prompt_without_meta" } },
1400+
TestContext.Current.CancellationToken);
1401+
1402+
// Verify result has no meta
1403+
Assert.Null(result.Meta);
1404+
}
1405+
1406+
[Fact]
1407+
public async Task McpServerResource_ReadAsync_WithNoMeta_ResultHasNoMeta()
1408+
{
1409+
var method = typeof(TestResourceMetaPropagationClass).GetMethod(nameof(TestResourceMetaPropagationClass.ResourceWithoutMeta))!;
1410+
var resource = McpServerResource.Create(method, target: null);
1411+
1412+
// Verify resource has no meta defined
1413+
Assert.Null(resource.ProtocolResourceTemplate?.Meta);
1414+
1415+
var result = await resource.ReadAsync(
1416+
new RequestContext<ReadResourceRequestParams>(new Moq.Mock<McpServer>().Object, CreateTestJsonRpcRequest()) { Params = new() { Uri = "resource://no-meta/123" } },
1417+
TestContext.Current.CancellationToken);
1418+
1419+
// Verify result has no meta
1420+
Assert.Null(result.Meta);
1421+
}
1422+
13891423
private static JsonRpcRequest CreateTestJsonRpcRequest()
13901424
{
13911425
return new JsonRpcRequest
@@ -1414,6 +1448,15 @@ private class TestPromptMetaPropagationClass
14141448
[McpMeta("type", "reasoning")]
14151449
[McpMeta("model", "claude-3")]
14161450
public static string PromptWithMeta() => "result";
1451+
1452+
[McpServerPrompt]
1453+
public static string PromptWithoutMeta() => "result";
1454+
}
1455+
1456+
private class TestResourceMetaPropagationClass
1457+
{
1458+
[McpServerResource(UriTemplate = "resource://no-meta/{id}")]
1459+
public static string ResourceWithoutMeta(string id) => id;
14171460
}
14181461

14191462
#endregion

0 commit comments

Comments
 (0)