현재 작업 상태 저장

This commit is contained in:
Yun Chan 2026-06-27 11:20:24 +09:00
parent 07cc67761e
commit 6bd91b0d5e
674 changed files with 8726 additions and 298 deletions

View file

@ -29,13 +29,13 @@ def patched_settings(**values: Any):
setattr(settings, key, value)
def _request() -> Request:
def _request(headers: list[tuple[bytes, bytes]] | None = None) -> Request:
return Request(
{
"type": "http",
"method": "GET",
"path": "/auth/login",
"headers": [(b"host", b"localhost:8000")],
"headers": headers or [(b"host", b"localhost:8000")],
}
)
@ -111,6 +111,64 @@ class AuthProviderScaffoldTest(unittest.IsolatedAsyncioTestCase):
self.assertTrue(providers["saml"].enabled)
self.assertEqual(providers["saml"].login_path, "/auth/login?provider=saml")
async def test_auth_config_allows_dev_login_from_configured_tailnet_origin(self) -> None:
request = _request(
[
(b"host", b"127.0.0.1:8000"),
(b"origin", b"https://alpaca-home.taile93291.ts.net"),
]
)
with patched_settings(
environment="dev",
auth_dev_login_enabled=True,
auth_dev_login_extra_origins=["https://alpaca-home.taile93291.ts.net"],
):
config = await auth_routes.auth_config(request)
self.assertTrue(config.dev_login_enabled)
async def test_auth_config_allows_dev_login_from_configured_tailnet_forwarded_host(self) -> None:
request = _request(
[
(b"host", b"127.0.0.1:8000"),
(b"x-forwarded-host", b"alpaca-home.taile93291.ts.net"),
]
)
with patched_settings(
environment="dev",
auth_dev_login_enabled=True,
auth_dev_login_extra_origins=["https://alpaca-home.taile93291.ts.net"],
):
config = await auth_routes.auth_config(request)
self.assertTrue(config.dev_login_enabled)
async def test_auth_config_allows_dev_login_config_probe_without_origin_when_extra_origin_is_set(self) -> None:
request = _request([(b"host", b"127.0.0.1:8000")])
with patched_settings(
environment="dev",
auth_dev_login_enabled=True,
auth_dev_login_extra_origins=["https://alpaca-home.taile93291.ts.net"],
):
config = await auth_routes.auth_config(request)
self.assertTrue(config.dev_login_enabled)
async def test_frontend_origin_map_routes_vnet_api_callbacks_to_vnet_frontend(self) -> None:
request = _request([(b"host", b"api-vnet.18ka.net")])
with patched_settings(
frontend_base_url="https://vignette.chanpaca.net",
frontend_origin_map={"api-vnet.18ka.net": "https://vnet.18ka.net"},
cors_origins=["https://vignette.chanpaca.net", "https://vnet.18ka.net"],
):
origin = auth_routes._frontend_origin_for_request(request)
self.assertEqual(origin, "https://vnet.18ka.net")
async def test_saml_login_builds_redirect_authn_request_and_relay_state(self) -> None:
with patched_settings(
auth_saml_enabled=True,