Skip to content

Commit 095c110

Browse files
committed
Add basic test to ensure OIDC metadata is parsable
1 parent c491f37 commit 095c110

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

tests/shared/test_auth.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"""Tests for OAuth 2.0 shared code."""
2+
3+
from mcp.shared.auth import OAuthMetadata
4+
5+
6+
class TestOAuthMetadata:
7+
"""Tests for OAuthMetadata parsing."""
8+
9+
def test_oauth(self):
10+
"""Should not throw when parsing OAuth metadata."""
11+
OAuthMetadata.model_validate(
12+
{
13+
"issuer": "https://example.com",
14+
"authorization_endpoint": "https://example.com/oauth2/authorize",
15+
"token_endpoint": "https://example.com/oauth2/token",
16+
"scopes_supported": ["read", "write"],
17+
"response_types_supported": ["code", "token"],
18+
"token_endpoint_auth_methods_supported": ["client_secret_basic", "client_secret_post"],
19+
}
20+
)
21+
22+
def test_oidc(self):
23+
"""Should not throw when parsing OIDC metadata."""
24+
OAuthMetadata.model_validate(
25+
{
26+
"issuer": "https://example.com",
27+
"authorization_endpoint": "https://example.com/oauth2/authorize",
28+
"token_endpoint": "https://example.com/oauth2/token",
29+
"end_session_endpoint": "https://example.com/logout",
30+
"id_token_signing_alg_values_supported": ["RS256"],
31+
"jwks_uri": "https://example.com/.well-known/jwks.json",
32+
"response_types_supported": ["code", "token"],
33+
"revocation_endpoint": "https://example.com/oauth2/revoke",
34+
"scopes_supported": ["openid", "read", "write"],
35+
"subject_types_supported": ["public"],
36+
"token_endpoint_auth_methods_supported": ["client_secret_basic", "client_secret_post"],
37+
"userinfo_endpoint": "https://example.com/oauth2/userInfo",
38+
}
39+
)

0 commit comments

Comments
 (0)