Allow JsonSerializerOptions parameters for user-defined and inputs and hardcode everything else to the source generator. (#182)

* Allow user-defined JsonSerializerOptions for user-defined and inputs and hardcode everything else to the source generator.

* Add validation for user-defined JsonSerializerOptions.

* Remove out of date comment.

* Address feedback and add tests
This commit is contained in:
Eirik Tsarpalis 2025-04-02 18:43:54 +01:00 • committed by GitHub
commit f1af251c32
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -63,7 +63,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
// act
await using var client = await GetClientAsync();
var tools = await client.ListToolsAsync(TestContext.Current.CancellationToken);
var tools = await client.ListToolsAsync(cancellationToken: TestContext.Current.CancellationToken);
// assert
Assert.NotNull(tools);
@ -82,7 +82,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
{
["message"] = "Hello MCP!"
},
TestContext.Current.CancellationToken
cancellationToken: TestContext.Current.CancellationToken
);
// assert
@ -168,7 +168,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
// act
await using var client = await GetClientAsync();
var result = await client.GetPromptAsync("simple_prompt", null, TestContext.Current.CancellationToken);
var result = await client.GetPromptAsync("simple_prompt", null, cancellationToken: TestContext.Current.CancellationToken);
// assert
Assert.NotNull(result);
@ -187,7 +187,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
{ "temperature", "0.7" },
{ "style", "formal" }
};
var result = await client.GetPromptAsync("complex_prompt", arguments, TestContext.Current.CancellationToken);
var result = await client.GetPromptAsync("complex_prompt", arguments, cancellationToken: TestContext.Current.CancellationToken);
// assert
Assert.NotNull(result);
@ -202,7 +202,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
// act
await using var client = await GetClientAsync();
await Assert.ThrowsAsync<McpClientException>(() =>
client.GetPromptAsync("non_existent_prompt", null, TestContext.Current.CancellationToken));
client.GetPromptAsync("non_existent_prompt", null, cancellationToken: TestContext.Current.CancellationToken));
}
[Fact]
@ -238,7 +238,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
["prompt"] = "Test prompt",
["maxTokens"] = 100
},
TestContext.Current.CancellationToken);
cancellationToken: TestContext.Current.CancellationToken);
// assert
Assert.NotNull(result);
@ -262,7 +262,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
{
["message"] = $"Hello MCP! {i}"
},
TestContext.Current.CancellationToken
cancellationToken: TestContext.Current.CancellationToken
);
Assert.NotNull(result);