@@ -319,11 +319,44 @@ public void WithMcpServerCreatesResourceRelationshipAnnotations()
319319 var inspectorResource = Assert . Single ( appModel . Resources . OfType < McpInspectorResource > ( ) ) ;
320320 var serverResource = appModel . Resources . Single ( r => r . Name == "mcpServer" ) ;
321321
322- // The inspector and/or server should have a resource relationship annotation linking them.
323- var serverHasRelationship = serverResource . TryGetAnnotationsOfType < ResourceRelationshipAnnotation > ( out var serverRelationships ) ;
324- var inspectorHasRelationship = inspectorResource . TryGetAnnotationsOfType < ResourceRelationshipAnnotation > ( out var inspectorRelationships ) ;
322+ // The server should have an "Inspected By" relationship pointing at the inspector
323+ Assert . True ( serverResource . TryGetAnnotationsOfType < ResourceRelationshipAnnotation > ( out var serverRelationships ) ) ;
324+ var serverRelationship = Assert . Single ( serverRelationships ) ;
325+ Assert . Same ( inspectorResource , serverRelationship . Resource ) ;
326+ Assert . Equal ( "Inspected By" , serverRelationship . Type ) ;
327+
328+ // The inspector should have relationships back to the server: "Inspecting" and (since isDefault=true) "Default Inspected Server"
329+ Assert . True ( inspectorResource . TryGetAnnotationsOfType < ResourceRelationshipAnnotation > ( out var inspectorRelationships ) ) ;
330+ Assert . Contains ( inspectorRelationships , r => r . Resource == serverResource && r . Type == "Inspecting" ) ;
331+ Assert . Contains ( inspectorRelationships , r => r . Resource == serverResource && r . Type == "Default Inspected Server" ) ;
332+ }
333+
334+ [ Fact ]
335+ public void WithMcpServer_NonDefaultDoesNotAddDefaultInspectedServerRelationship ( )
336+ {
337+ // Arrange
338+ var appBuilder = DistributedApplication . CreateBuilder ( ) ;
339+
340+ // Create mock MCP server resources
341+ var mockServer1 = appBuilder . AddProject < Projects . CommunityToolkit_Aspire_Hosting_McpInspector_McpServer > ( "mcpServer1" ) ;
342+ var mockServer2 = appBuilder . AddProject < Projects . CommunityToolkit_Aspire_Hosting_McpInspector_McpServer > ( "mcpServer2" ) ;
343+
344+ // Act: first is default, second is not
345+ var inspector = appBuilder . AddMcpInspector ( "inspector" )
346+ . WithMcpServer ( mockServer1 , isDefault : true )
347+ . WithMcpServer ( mockServer2 , isDefault : false ) ;
348+
349+ using var app = appBuilder . Build ( ) ;
350+
351+ // Assert
352+ var appModel = app . Services . GetRequiredService < DistributedApplicationModel > ( ) ;
353+
354+ var inspectorResource = Assert . Single ( appModel . Resources . OfType < McpInspectorResource > ( ) ) ;
355+ var serverResource2 = appModel . Resources . Single ( r => r . Name == "mcpServer2" ) ;
325356
326- Assert . True ( serverHasRelationship || inspectorHasRelationship , "Expected a ResourceRelationshipAnnotation on either the server or inspector resource." ) ;
357+ // Inspector should have relationships but should NOT have "Default Inspected Server" for serverResource2
358+ Assert . True ( inspectorResource . TryGetAnnotationsOfType < ResourceRelationshipAnnotation > ( out var inspectorRelationships ) ) ;
359+ Assert . DoesNotContain ( inspectorRelationships , r => r . Resource == serverResource2 && r . Type == "Default Inspected Server" ) ;
327360 }
328361
329362 [ Fact ]
0 commit comments