@@ -35,15 +35,15 @@ public async Task Authorize_Tool_RequiresAuthentication()
3535 await using var app = await StartServerWithAuth ( builder => builder . WithTools < AuthorizationTestTools > ( ) ) ;
3636
3737 var client = await ConnectAsync ( ) ;
38- var result = await client . CallToolAsync (
39- "authorized_tool" ,
40- new Dictionary < string , object ? > { [ "message" ] = "test" } ,
41- cancellationToken : TestContext . Current . CancellationToken ) ;
4238
43- // Should return error because tool requires authorization but user is anonymous
44- Assert . True ( result . IsError ?? false ) ;
45- var content = Assert . Single ( result . Content . OfType < TextContentBlock > ( ) ) ;
46- Assert . Equal ( "Access forbidden: This tool requires authorization." , content . Text ) ;
39+ var exception = await Assert . ThrowsAsync < McpException > ( async ( ) =>
40+ await client . CallToolAsync (
41+ "authorized_tool" ,
42+ new Dictionary < string , object ? > { [ "message" ] = "test" } ,
43+ cancellationToken : TestContext . Current . CancellationToken ) ) ;
44+
45+ Assert . Equal ( "Request failed (remote): Access forbidden: This tool requires authorization." , exception . Message ) ;
46+ Assert . Equal ( McpErrorCode . InvalidRequest , exception . ErrorCode ) ;
4747 }
4848
4949 [ Fact ]
@@ -100,15 +100,15 @@ public async Task AuthorizeWithRoles_Tool_RequiresAdminRole()
100100 await using var app = await StartServerWithAuth ( builder => builder . WithTools < AuthorizationTestTools > ( ) , "TestUser" , "User" ) ;
101101
102102 var client = await ConnectAsync ( ) ;
103- var result = await client . CallToolAsync (
104- "admin_tool" ,
105- new Dictionary < string , object ? > { [ "message" ] = "test" } ,
106- cancellationToken : TestContext . Current . CancellationToken ) ;
107103
108- // Should return error because tool requires Admin role but user only has User role
109- Assert . True ( result . IsError ?? false ) ;
110- var content = Assert . Single ( result . Content . OfType < TextContentBlock > ( ) ) ;
111- Assert . Equal ( "Access forbidden: This tool requires authorization." , content . Text ) ;
104+ var exception = await Assert . ThrowsAsync < McpException > ( async ( ) =>
105+ await client . CallToolAsync (
106+ "admin_tool" ,
107+ new Dictionary < string , object ? > { [ "message" ] = "test" } ,
108+ cancellationToken : TestContext . Current . CancellationToken ) ) ;
109+
110+ Assert . Equal ( "Request failed (remote): Access forbidden: This tool requires authorization." , exception . Message ) ;
111+ Assert . Equal ( McpErrorCode . InvalidRequest , exception . ErrorCode ) ;
112112 }
113113
114114 [ Fact ]
0 commit comments