1111
1212namespace ModelContextProtocol . Tests . Server ;
1313
14- public class McpServerTests
14+ public class McpServerTests : LoggedTest
1515{
1616 private readonly Mock < IServerTransport > _serverTransport ;
17- private readonly Mock < ILoggerFactory > _loggerFactory ;
1817 private readonly Mock < ILogger > _logger ;
1918 private readonly McpServerOptions _options ;
2019 private readonly IServiceProvider _serviceProvider ;
2120
22- public McpServerTests ( )
21+ public McpServerTests ( ITestOutputHelper testOutputHelper )
22+ : base ( testOutputHelper )
2323 {
2424 _serverTransport = new Mock < IServerTransport > ( ) ;
25- _loggerFactory = new Mock < ILoggerFactory > ( ) ;
2625 _logger = new Mock < ILogger > ( ) ;
27- _loggerFactory . Setup ( f => f . CreateLogger ( It . IsAny < string > ( ) ) ) . Returns ( _logger . Object ) ;
2826 _options = CreateOptions ( ) ;
2927 _serviceProvider = new Mock < IServiceProvider > ( ) . Object ;
3028 }
@@ -44,7 +42,7 @@ private static McpServerOptions CreateOptions(ServerCapabilities? capabilities =
4442 public async Task Constructor_Should_Initialize_With_Valid_Parameters ( )
4543 {
4644 // Arrange & Act
47- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
45+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
4846
4947 // Assert
5048 Assert . NotNull ( server ) ;
@@ -54,14 +52,14 @@ public async Task Constructor_Should_Initialize_With_Valid_Parameters()
5452 public void Constructor_Throws_For_Null_Transport ( )
5553 {
5654 // Arrange, Act & Assert
57- Assert . Throws < ArgumentNullException > ( ( ) => McpServerFactory . Create ( null ! , _options , _loggerFactory . Object , _serviceProvider ) ) ;
55+ Assert . Throws < ArgumentNullException > ( ( ) => McpServerFactory . Create ( null ! , _options , LoggerFactory , _serviceProvider ) ) ;
5856 }
5957
6058 [ Fact ]
6159 public void Constructor_Throws_For_Null_Options ( )
6260 {
6361 // Arrange, Act & Assert
64- Assert . Throws < ArgumentNullException > ( ( ) => McpServerFactory . Create ( _serverTransport . Object , null ! , _loggerFactory . Object , _serviceProvider ) ) ;
62+ Assert . Throws < ArgumentNullException > ( ( ) => McpServerFactory . Create ( _serverTransport . Object , null ! , LoggerFactory , _serviceProvider ) ) ;
6563 }
6664
6765 [ Fact ]
@@ -78,7 +76,7 @@ public async Task Constructor_Does_Not_Throw_For_Null_Logger()
7876 public async Task Constructor_Does_Not_Throw_For_Null_ServiceProvider ( )
7977 {
8078 // Arrange & Act
81- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , null ) ;
79+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , null ) ;
8280
8381 // Assert
8482 Assert . NotNull ( server ) ;
@@ -88,7 +86,7 @@ public async Task Constructor_Does_Not_Throw_For_Null_ServiceProvider()
8886 public async Task StartAsync_Should_Throw_InvalidOperationException_If_Already_Initializing ( )
8987 {
9088 // Arrange
91- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
89+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
9290 var task = server . StartAsync ( TestContext . Current . CancellationToken ) ;
9391
9492 // Act & Assert
@@ -101,7 +99,7 @@ public async Task StartAsync_Should_Throw_InvalidOperationException_If_Already_I
10199 public async Task StartAsync_Should_Do_Nothing_If_Already_Initialized ( )
102100 {
103101 // Arrange
104- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
102+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
105103 SetInitialized ( server , true ) ;
106104
107105 await server . StartAsync ( TestContext . Current . CancellationToken ) ;
@@ -114,7 +112,7 @@ public async Task StartAsync_Should_Do_Nothing_If_Already_Initialized()
114112 public async Task StartAsync_ShouldStartListening ( )
115113 {
116114 // Arrange
117- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
115+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
118116
119117 // Act
120118 await server . StartAsync ( TestContext . Current . CancellationToken ) ;
@@ -127,7 +125,7 @@ public async Task StartAsync_ShouldStartListening()
127125 public async Task StartAsync_Sets_Initialized_After_Transport_Responses_Initialized_Notification ( )
128126 {
129127 await using var transport = new TestServerTransport ( ) ;
130- await using var server = McpServerFactory . Create ( transport , _options , _loggerFactory . Object , _serviceProvider ) ;
128+ await using var server = McpServerFactory . Create ( transport , _options , LoggerFactory , _serviceProvider ) ;
131129
132130 await server . StartAsync ( TestContext . Current . CancellationToken ) ;
133131
@@ -147,7 +145,7 @@ await transport.SendMessageAsync(new JsonRpcNotification
147145 public async Task RequestSamplingAsync_Should_Throw_McpServerException_If_Client_Does_Not_Support_Sampling ( )
148146 {
149147 // Arrange
150- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
148+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
151149 SetClientCapabilities ( server , new ClientCapabilities ( ) ) ;
152150
153151 var action = ( ) => server . RequestSamplingAsync ( new CreateMessageRequestParams { Messages = [ ] } , CancellationToken . None ) ;
@@ -161,7 +159,7 @@ public async Task RequestSamplingAsync_Should_SendRequest()
161159 {
162160 // Arrange
163161 await using var transport = new TestServerTransport ( ) ;
164- await using var server = McpServerFactory . Create ( transport , _options , _loggerFactory . Object , _serviceProvider ) ;
162+ await using var server = McpServerFactory . Create ( transport , _options , LoggerFactory , _serviceProvider ) ;
165163 SetClientCapabilities ( server , new ClientCapabilities { Sampling = new SamplingCapability ( ) } ) ;
166164
167165 await server . StartAsync ( TestContext . Current . CancellationToken ) ;
@@ -179,7 +177,7 @@ public async Task RequestSamplingAsync_Should_SendRequest()
179177 public async Task RequestRootsAsync_Should_Throw_McpServerException_If_Client_Does_Not_Support_Roots ( )
180178 {
181179 // Arrange
182- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
180+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
183181 SetClientCapabilities ( server , new ClientCapabilities ( ) ) ;
184182
185183 // Act & Assert
@@ -191,7 +189,7 @@ public async Task RequestRootsAsync_Should_SendRequest()
191189 {
192190 // Arrange
193191 await using var transport = new TestServerTransport ( ) ;
194- await using var server = McpServerFactory . Create ( transport , _options , _loggerFactory . Object , _serviceProvider ) ;
192+ await using var server = McpServerFactory . Create ( transport , _options , LoggerFactory , _serviceProvider ) ;
195193 SetClientCapabilities ( server , new ClientCapabilities { Roots = new RootsCapability ( ) } ) ;
196194 await server . StartAsync ( TestContext . Current . CancellationToken ) ;
197195
@@ -208,7 +206,7 @@ public async Task RequestRootsAsync_Should_SendRequest()
208206 [ Fact ]
209207 public async Task Throws_Exception_If_Not_Connected ( )
210208 {
211- await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , _loggerFactory . Object , _serviceProvider ) ;
209+ await using var server = McpServerFactory . Create ( _serverTransport . Object , _options , LoggerFactory , _serviceProvider ) ;
212210 SetClientCapabilities ( server , new ClientCapabilities { Roots = new RootsCapability ( ) } ) ;
213211 _serverTransport . SetupGet ( t => t . IsConnected ) . Returns ( false ) ;
214212
@@ -555,7 +553,7 @@ private async Task Can_Handle_Requests(ServerCapabilities? serverCapabilities, s
555553 var options = CreateOptions ( serverCapabilities ) ;
556554 configureOptions ? . Invoke ( options ) ;
557555
558- await using var server = McpServerFactory . Create ( transport , options , _loggerFactory . Object , _serviceProvider ) ;
556+ await using var server = McpServerFactory . Create ( transport , options , LoggerFactory , _serviceProvider ) ;
559557
560558 await server . StartAsync ( ) ;
561559
@@ -587,7 +585,7 @@ private async Task Throws_Exception_If_No_Handler_Assigned(ServerCapabilities se
587585 await using var transport = new TestServerTransport ( ) ;
588586 var options = CreateOptions ( serverCapabilities ) ;
589587
590- Assert . Throws < McpServerException > ( ( ) => McpServerFactory . Create ( transport , options , _loggerFactory . Object , _serviceProvider ) ) ;
588+ Assert . Throws < McpServerException > ( ( ) => McpServerFactory . Create ( transport , options , LoggerFactory , _serviceProvider ) ) ;
591589 }
592590
593591 [ Fact ]
0 commit comments