test: add API-level coverage for internal helpers, schemas, and service validation

This commit is contained in:
2026-04-25 22:17:41 +09:30
parent 1de10323af
commit bb977aedf9
11 changed files with 1079 additions and 0 deletions
View File
@@ -0,0 +1,52 @@
import pytest
from gatehouse_app.utils.constants import AuthMethodType
from gatehouse_app.services.external_auth.models import ExternalAuthError
from gatehouse_app.api.v1.external_auth._helpers import (
get_provider_type,
_get_provider_endpoints,
)
class TestProviderType:
def test_google(self):
assert get_provider_type("google") == AuthMethodType.GOOGLE
def test_github(self):
assert get_provider_type("github") == AuthMethodType.GITHUB
def test_microsoft(self):
assert get_provider_type("microsoft") == AuthMethodType.MICROSOFT
def test_case_insensitive(self):
assert get_provider_type("GitHub") == AuthMethodType.GITHUB
def test_unknown_provider_raises(self):
with pytest.raises(ExternalAuthError) as exc_info:
get_provider_type("facebook")
assert exc_info.value.status_code == 400
assert "facebook" in exc_info.value.message.lower()
class TestProviderEndpoints:
def test_google_endpoints(self):
auth, token, userinfo = _get_provider_endpoints(AuthMethodType.GOOGLE)
assert "accounts.google.com" in auth
assert "oauth2.googleapis.com" in token
assert "googleapis.com" in userinfo
def test_github_endpoints(self):
auth, token, userinfo = _get_provider_endpoints(AuthMethodType.GITHUB)
assert "github.com/login" in auth
assert "github.com/login/oauth/access_token" in token
assert "api.github.com/user" in userinfo
def test_microsoft_endpoints(self):
auth, token, userinfo = _get_provider_endpoints(AuthMethodType.MICROSOFT)
assert "login.microsoftonline.com" in auth
assert "login.microsoftonline.com" in token
assert "graph.microsoft.com" in userinfo
def test_unknown_type_raises(self):
with pytest.raises(ExternalAuthError) as exc_info:
_get_provider_endpoints("nonexistent")
assert exc_info.value.status_code == 400