Add EverythingServer sample (#151)
This commit is contained in:
parent
d21d933876
commit
01410df5ad
1 changed files with 620 additions and 1 deletions
|
|
@ -0,0 +1,55 @@
|
|||
using Microsoft.Extensions.DependencyInjection;
|
||||
using ModelContextProtocol.Protocol.Types;
|
||||
using ModelContextProtocol.Server;
|
||||
|
||||
namespace ModelContextProtocol.Tests.Server;
|
||||
public class McpServerLoggingLevelTests
|
||||
{
|
||||
[Fact]
|
||||
public void CanCreateServerWithLoggingLevelHandler()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
|
||||
services.AddMcpServer()
|
||||
.WithStdioServerTransport()
|
||||
.WithSetLoggingLevelHandler((ctx, ct) =>
|
||||
{
|
||||
return Task.FromResult(new EmptyResult());
|
||||
});
|
||||
|
||||
var provider = services.BuildServiceProvider();
|
||||
|
||||
provider.GetRequiredService<IMcpServer>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddingLoggingLevelHandlerSetsLoggingCapability()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
|
||||
services.AddMcpServer()
|
||||
.WithStdioServerTransport()
|
||||
.WithSetLoggingLevelHandler((ctx, ct) =>
|
||||
{
|
||||
return Task.FromResult(new EmptyResult());
|
||||
});
|
||||
|
||||
var provider = services.BuildServiceProvider();
|
||||
|
||||
var server = provider.GetRequiredService<IMcpServer>();
|
||||
|
||||
Assert.NotNull(server.ServerOptions.Capabilities?.Logging);
|
||||
Assert.NotNull(server.ServerOptions.Capabilities.Logging.SetLoggingLevelHandler);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ServerWithoutCallingLoggingLevelHandlerDoesNotSetLoggingCapability()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
services.AddMcpServer()
|
||||
.WithStdioServerTransport();
|
||||
var provider = services.BuildServiceProvider();
|
||||
var server = provider.GetRequiredService<IMcpServer>();
|
||||
Assert.Null(server.ServerOptions.Capabilities?.Logging);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue