Fix StdioServerTransportTests to use Debug logging level instead of Trace (#1209)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
This commit is contained in:
parent
aaf2246d53
commit
482e311a70
1 changed files with 20 additions and 12 deletions
|
|
@ -22,14 +22,6 @@ public class StdioServerTransportTests : LoggedTest
|
||||||
InitializationTimeout = TimeSpan.FromSeconds(10),
|
InitializationTimeout = TimeSpan.FromSeconds(10),
|
||||||
ServerInstructions = "Test Instructions"
|
ServerInstructions = "Test Instructions"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Override the LoggerFactory to use Trace level for testing Trace-level logging
|
|
||||||
LoggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder =>
|
|
||||||
{
|
|
||||||
builder.AddProvider(XunitLoggerProvider);
|
|
||||||
builder.AddProvider(MockLoggerProvider);
|
|
||||||
builder.SetMinimumLevel(LogLevel.Trace);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact(Skip="https://github.com/modelcontextprotocol/csharp-sdk/issues/143")]
|
[Fact(Skip="https://github.com/modelcontextprotocol/csharp-sdk/issues/143")]
|
||||||
|
|
@ -207,19 +199,27 @@ public class StdioServerTransportTests : LoggedTest
|
||||||
public async Task SendMessageAsync_Should_Log_At_Trace_Level()
|
public async Task SendMessageAsync_Should_Log_At_Trace_Level()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
|
var mockLoggerProvider = new MockLoggerProvider();
|
||||||
|
using var traceLoggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder =>
|
||||||
|
{
|
||||||
|
builder.AddProvider(XunitLoggerProvider);
|
||||||
|
builder.AddProvider(mockLoggerProvider);
|
||||||
|
builder.SetMinimumLevel(LogLevel.Trace);
|
||||||
|
});
|
||||||
|
|
||||||
using var output = new MemoryStream();
|
using var output = new MemoryStream();
|
||||||
|
|
||||||
await using var transport = new StreamServerTransport(
|
await using var transport = new StreamServerTransport(
|
||||||
new Pipe().Reader.AsStream(),
|
new Pipe().Reader.AsStream(),
|
||||||
output,
|
output,
|
||||||
loggerFactory: LoggerFactory);
|
loggerFactory: traceLoggerFactory);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
var message = new JsonRpcRequest { Method = "test", Id = new RequestId(44) };
|
var message = new JsonRpcRequest { Method = "test", Id = new RequestId(44) };
|
||||||
await transport.SendMessageAsync(message, TestContext.Current.CancellationToken);
|
await transport.SendMessageAsync(message, TestContext.Current.CancellationToken);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
var traceLogMessages = MockLoggerProvider.LogMessages
|
var traceLogMessages = mockLoggerProvider.LogMessages
|
||||||
.Where(x => x.LogLevel == LogLevel.Trace && x.Message.Contains("transport sending message"))
|
.Where(x => x.LogLevel == LogLevel.Trace && x.Message.Contains("transport sending message"))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
|
|
@ -231,6 +231,14 @@ public class StdioServerTransportTests : LoggedTest
|
||||||
public async Task ReadMessagesAsync_Should_Log_Received_At_Trace_Level()
|
public async Task ReadMessagesAsync_Should_Log_Received_At_Trace_Level()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
|
var mockLoggerProvider = new MockLoggerProvider();
|
||||||
|
using var traceLoggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder =>
|
||||||
|
{
|
||||||
|
builder.AddProvider(XunitLoggerProvider);
|
||||||
|
builder.AddProvider(mockLoggerProvider);
|
||||||
|
builder.SetMinimumLevel(LogLevel.Trace);
|
||||||
|
});
|
||||||
|
|
||||||
var message = new JsonRpcRequest { Method = "test", Id = new RequestId(99) };
|
var message = new JsonRpcRequest { Method = "test", Id = new RequestId(99) };
|
||||||
var json = JsonSerializer.Serialize(message, McpJsonUtilities.DefaultOptions);
|
var json = JsonSerializer.Serialize(message, McpJsonUtilities.DefaultOptions);
|
||||||
|
|
||||||
|
|
@ -240,7 +248,7 @@ public class StdioServerTransportTests : LoggedTest
|
||||||
await using var transport = new StreamServerTransport(
|
await using var transport = new StreamServerTransport(
|
||||||
input,
|
input,
|
||||||
Stream.Null,
|
Stream.Null,
|
||||||
loggerFactory: LoggerFactory);
|
loggerFactory: traceLoggerFactory);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await pipe.Writer.WriteAsync(Encoding.UTF8.GetBytes($"{json}\n"), TestContext.Current.CancellationToken);
|
await pipe.Writer.WriteAsync(Encoding.UTF8.GetBytes($"{json}\n"), TestContext.Current.CancellationToken);
|
||||||
|
|
@ -250,7 +258,7 @@ public class StdioServerTransportTests : LoggedTest
|
||||||
Assert.True(canRead, "Nothing to read here from transport message reader");
|
Assert.True(canRead, "Nothing to read here from transport message reader");
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
var traceLogMessages = MockLoggerProvider.LogMessages
|
var traceLogMessages = mockLoggerProvider.LogMessages
|
||||||
.Where(x => x.LogLevel == LogLevel.Trace && x.Message.Contains("transport received message"))
|
.Where(x => x.LogLevel == LogLevel.Trace && x.Message.Contains("transport received message"))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue