@@ -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