Initial commit: MCP Hub Community Edition v3.0.0

Community edition generated from private repo via sync pipeline.
Includes 9 plugins (WordPress, WooCommerce, WP Advanced, Gitea, n8n,
Supabase, OpenPanel, Appwrite, Directus) with ~587 tools.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
airano
2026-02-17 08:34:44 +03:30
commit cf62e65c55
237 changed files with 87596 additions and 0 deletions

50
tests/test_oauth_pkce.py Normal file
View File

@@ -0,0 +1,50 @@
import pytest
from core.oauth.pkce import generate_code_challenge, generate_code_verifier, validate_code_challenge
def test_code_verifier_generation():
"""Test code verifier generation"""
verifier = generate_code_verifier()
# Length check
assert 43 <= len(verifier) <= 128
# Character set check
import re
assert re.match(r"^[A-Za-z0-9_-]+$", verifier)
# Uniqueness
assert verifier != generate_code_verifier()
def test_code_challenge_s256():
"""Test S256 code challenge generation"""
# RFC 7636 Appendix B example
verifier = "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk"
expected = "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM"
challenge = generate_code_challenge(verifier, "S256")
assert challenge == expected
def test_code_challenge_validation():
"""Test PKCE validation"""
verifier = generate_code_verifier()
challenge = generate_code_challenge(verifier)
# Valid
assert validate_code_challenge(verifier, challenge, "S256")
# Invalid verifier
assert not validate_code_challenge("wrong", challenge, "S256")
# Invalid challenge
assert not validate_code_challenge(verifier, "wrong", "S256")
def test_plain_method_not_allowed():
"""Test that plain method is not allowed (OAuth 2.1)"""
with pytest.raises(ValueError, match="S256"):
generate_code_challenge("verifier", "plain")