adbaffe545
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from src.mcp.oauth import store
|
|
|
|
|
|
def test_create_and_get_client(tmp_path):
|
|
db = tmp_path / "u.sqlite"
|
|
store.init_schema(db)
|
|
meta = {
|
|
"redirect_uris": ["https://claude.ai/api/mcp/auth_callback"],
|
|
"scope": "mcp",
|
|
}
|
|
store.create_client(db, "abc123", meta)
|
|
row = store.get_client(db, "abc123")
|
|
assert row["client_id"] == "abc123"
|
|
assert row["client_metadata"] == meta
|
|
assert store.get_client(db, "nope") is None
|
|
|
|
|
|
def test_save_get_delete_code(tmp_path):
|
|
db = tmp_path / "u.sqlite"
|
|
store.init_schema(db)
|
|
store.save_code(
|
|
db,
|
|
"thecode",
|
|
client_id="abc",
|
|
user_id=7,
|
|
redirect_uri="https://claude.ai/api/mcp/auth_callback",
|
|
code_challenge="chal",
|
|
code_challenge_method="S256",
|
|
scope="mcp",
|
|
resource="https://colibre.fr/_mcp",
|
|
expires_at="2999-01-01T00:00:00+00:00",
|
|
)
|
|
row = store.get_code(db, "thecode")
|
|
assert row["user_id"] == 7
|
|
assert row["code_challenge"] == "chal"
|
|
assert row["resource"] == "https://colibre.fr/_mcp"
|
|
store.delete_code(db, "thecode")
|
|
assert store.get_code(db, "thecode") is None
|