From 7cb1adbd069fceca20dbf81f807383b2eac1505c Mon Sep 17 00:00:00 2001 From: Johan Lundberg Date: Mon, 16 Feb 2026 15:34:53 +0100 Subject: [PATCH] =?UTF-8?q?update=20all=20imports=20in=20test=20files:=20f?= =?UTF-8?q?astapi=5Foidc=5Fop=20=E2=86=92=20porchlight?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/conftest.py | 4 ++-- tests/e2e/run.sh | 2 +- tests/e2e/setup_db.py | 8 ++++---- tests/test_app.py | 4 ++-- tests/test_auth_routes/test_last_credential_guard.py | 4 ++-- tests/test_auth_routes/test_manage_credentials_page.py | 4 ++-- tests/test_auth_routes/test_manage_password_credential.py | 4 ++-- tests/test_auth_routes/test_manage_webauthn_credential.py | 4 ++-- tests/test_auth_routes/test_password_login.py | 4 ++-- tests/test_auth_routes/test_register_magic_link.py | 2 +- tests/test_auth_routes/test_session_deps.py | 2 +- tests/test_auth_routes/test_webauthn_login.py | 2 +- tests/test_authn/test_password.py | 2 +- tests/test_authn/test_webauthn.py | 2 +- tests/test_config.py | 2 +- tests/test_invite/test_service.py | 8 ++++---- tests/test_models.py | 2 +- tests/test_oidc/test_claims.py | 4 ++-- tests/test_oidc/test_e2e_flow.py | 4 ++-- tests/test_oidc/test_login_oidc_redirect.py | 4 ++-- tests/test_oidc/test_provider.py | 6 +++--- tests/test_oidc/test_token.py | 4 ++-- tests/test_oidc/test_userinfo.py | 4 ++-- tests/test_store/conftest.py | 4 ++-- tests/test_store/test_exceptions.py | 2 +- tests/test_store/test_migrations.py | 4 ++-- tests/test_store/test_protocols.py | 2 +- tests/test_store/test_sqlite_credential_repo.py | 8 ++++---- tests/test_store/test_sqlite_magic_link_repo.py | 8 ++++---- tests/test_store/test_sqlite_user_repo.py | 8 ++++---- tests/test_userid.py | 4 ++-- 31 files changed, 63 insertions(+), 63 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 239ea06..2595cbf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3,8 +3,8 @@ from collections.abc import AsyncIterator import pytest from httpx import ASGITransport, AsyncClient -from fastapi_oidc_op.app import create_app -from fastapi_oidc_op.config import Settings +from porchlight.app import create_app +from porchlight.config import Settings @pytest.fixture diff --git a/tests/e2e/run.sh b/tests/e2e/run.sh index 767281b..3976c4d 100755 --- a/tests/e2e/run.sh +++ b/tests/e2e/run.sh @@ -27,7 +27,7 @@ echo " DB: ${OIDC_OP_SQLITE_PATH}" OIDC_OP_ISSUER="${TARGET_URL}" \ OIDC_OP_DEBUG=true \ uv run --directory "$PROJECT_ROOT" \ - uvicorn fastapi_oidc_op.app:create_app \ + uvicorn porchlight.app:create_app \ --factory --host 127.0.0.1 --port "$PORT" \ --log-level warning & SERVER_PID=$! diff --git a/tests/e2e/setup_db.py b/tests/e2e/setup_db.py index 7958f4e..d4e273b 100644 --- a/tests/e2e/setup_db.py +++ b/tests/e2e/setup_db.py @@ -14,10 +14,10 @@ import sys import aiosqlite -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.invite.service import MagicLinkService -from fastapi_oidc_op.models import PasswordCredential, User -from fastapi_oidc_op.store.sqlite.repositories import ( +from porchlight.authn.password import PasswordService +from porchlight.invite.service import MagicLinkService +from porchlight.models import PasswordCredential, User +from porchlight.store.sqlite.repositories import ( SQLiteCredentialRepository, SQLiteMagicLinkRepository, SQLiteUserRepository, diff --git a/tests/test_app.py b/tests/test_app.py index 3204b5c..862e56d 100644 --- a/tests/test_app.py +++ b/tests/test_app.py @@ -16,7 +16,7 @@ async def test_app_has_title(client: AsyncClient) -> None: async def test_app_has_repos_on_state(client: AsyncClient) -> None: - from fastapi_oidc_op.store.protocols import ( + from porchlight.store.protocols import ( CredentialRepository, MagicLinkRepository, UserRepository, @@ -31,7 +31,7 @@ async def test_app_has_repos_on_state(client: AsyncClient) -> None: async def test_dependency_functions() -> None: from unittest.mock import MagicMock - from fastapi_oidc_op.dependencies import ( + from porchlight.dependencies import ( get_credential_repo, get_magic_link_repo, get_user_repo, diff --git a/tests/test_auth_routes/test_last_credential_guard.py b/tests/test_auth_routes/test_last_credential_guard.py index 977a226..9d9b557 100644 --- a/tests/test_auth_routes/test_last_credential_guard.py +++ b/tests/test_auth_routes/test_last_credential_guard.py @@ -4,8 +4,8 @@ from datetime import UTC, datetime from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User, WebAuthnCredential +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User, WebAuthnCredential async def _create_user_and_login(client: AsyncClient) -> str: diff --git a/tests/test_auth_routes/test_manage_credentials_page.py b/tests/test_auth_routes/test_manage_credentials_page.py index 8e3b2a8..95297b7 100644 --- a/tests/test_auth_routes/test_manage_credentials_page.py +++ b/tests/test_auth_routes/test_manage_credentials_page.py @@ -3,8 +3,8 @@ from datetime import UTC, datetime from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User async def _login(client: AsyncClient, username: str = "alice", password: str = "testpass") -> None: diff --git a/tests/test_auth_routes/test_manage_password_credential.py b/tests/test_auth_routes/test_manage_password_credential.py index 3f1e489..f8605f1 100644 --- a/tests/test_auth_routes/test_manage_password_credential.py +++ b/tests/test_auth_routes/test_manage_password_credential.py @@ -3,8 +3,8 @@ from datetime import UTC, datetime from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User, WebAuthnCredential +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User, WebAuthnCredential async def _create_user_and_login(client: AsyncClient) -> str: diff --git a/tests/test_auth_routes/test_manage_webauthn_credential.py b/tests/test_auth_routes/test_manage_webauthn_credential.py index 94bc8de..2e7dee3 100644 --- a/tests/test_auth_routes/test_manage_webauthn_credential.py +++ b/tests/test_auth_routes/test_manage_webauthn_credential.py @@ -17,8 +17,8 @@ from fido2.webauthn import ( ) from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User, WebAuthnCredential +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User, WebAuthnCredential RP_ID = "localhost" ORIGIN = "http://localhost:8000" diff --git a/tests/test_auth_routes/test_password_login.py b/tests/test_auth_routes/test_password_login.py index fff68a8..7d3f274 100644 --- a/tests/test_auth_routes/test_password_login.py +++ b/tests/test_auth_routes/test_password_login.py @@ -3,8 +3,8 @@ from datetime import UTC, datetime from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User async def test_password_login_unknown_user_returns_error_fragment(client: AsyncClient) -> None: diff --git a/tests/test_auth_routes/test_register_magic_link.py b/tests/test_auth_routes/test_register_magic_link.py index 1335bd9..6a0cbd6 100644 --- a/tests/test_auth_routes/test_register_magic_link.py +++ b/tests/test_auth_routes/test_register_magic_link.py @@ -2,7 +2,7 @@ from datetime import UTC, datetime, timedelta from httpx import AsyncClient -from fastapi_oidc_op.models import MagicLink +from porchlight.models import MagicLink async def test_register_invalid_token_returns_error_page(client: AsyncClient) -> None: diff --git a/tests/test_auth_routes/test_session_deps.py b/tests/test_auth_routes/test_session_deps.py index 60efc7f..bc6e6b9 100644 --- a/tests/test_auth_routes/test_session_deps.py +++ b/tests/test_auth_routes/test_session_deps.py @@ -3,7 +3,7 @@ from unittest.mock import MagicMock import pytest from fastapi import HTTPException -from fastapi_oidc_op.dependencies import get_session_user, require_session_user +from porchlight.dependencies import get_session_user, require_session_user def test_get_session_user_none_when_missing() -> None: diff --git a/tests/test_auth_routes/test_webauthn_login.py b/tests/test_auth_routes/test_webauthn_login.py index 1724065..da89344 100644 --- a/tests/test_auth_routes/test_webauthn_login.py +++ b/tests/test_auth_routes/test_webauthn_login.py @@ -9,7 +9,7 @@ from fido2.webauthn import ( ) from httpx import AsyncClient -from fastapi_oidc_op.models import User, WebAuthnCredential +from porchlight.models import User, WebAuthnCredential RP_ID = "localhost" ORIGIN = "http://localhost:8000" diff --git a/tests/test_authn/test_password.py b/tests/test_authn/test_password.py index 4e46233..afe8920 100644 --- a/tests/test_authn/test_password.py +++ b/tests/test_authn/test_password.py @@ -1,6 +1,6 @@ from argon2 import PasswordHasher -from fastapi_oidc_op.authn.password import PasswordService +from porchlight.authn.password import PasswordService def test_hash_returns_argon2_string() -> None: diff --git a/tests/test_authn/test_webauthn.py b/tests/test_authn/test_webauthn.py index 64d400c..a53dfef 100644 --- a/tests/test_authn/test_webauthn.py +++ b/tests/test_authn/test_webauthn.py @@ -18,7 +18,7 @@ from fido2.webauthn import ( RegistrationResponse, ) -from fastapi_oidc_op.authn.webauthn import WebAuthnService +from porchlight.authn.webauthn import WebAuthnService RP_ID = "localhost" RP_NAME = "Test RP" diff --git a/tests/test_config.py b/tests/test_config.py index 9fb5330..a6f6941 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -1,7 +1,7 @@ # tests/test_config.py import pytest -from fastapi_oidc_op.config import Settings, StorageBackend +from porchlight.config import Settings, StorageBackend def test_default_settings() -> None: diff --git a/tests/test_invite/test_service.py b/tests/test_invite/test_service.py index 3ed5e84..f2036cc 100644 --- a/tests/test_invite/test_service.py +++ b/tests/test_invite/test_service.py @@ -4,12 +4,12 @@ from pathlib import Path import aiosqlite import pytest -from fastapi_oidc_op.invite.service import MagicLinkService -from fastapi_oidc_op.store.sqlite.migrations import run_migrations -from fastapi_oidc_op.store.sqlite.repositories import SQLiteMagicLinkRepository +from porchlight.invite.service import MagicLinkService +from porchlight.store.sqlite.migrations import run_migrations +from porchlight.store.sqlite.repositories import SQLiteMagicLinkRepository MIGRATIONS_DIR = ( - Path(__file__).resolve().parent.parent.parent / "src" / "fastapi_oidc_op" / "store" / "sqlite" / "migrations" + Path(__file__).resolve().parent.parent.parent / "src" / "porchlight" / "store" / "sqlite" / "migrations" ) diff --git a/tests/test_models.py b/tests/test_models.py index 283bd01..702f667 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,6 +1,6 @@ from datetime import UTC, datetime, timedelta -from fastapi_oidc_op.models import ( +from porchlight.models import ( CredentialType, MagicLink, PasswordCredential, diff --git a/tests/test_oidc/test_claims.py b/tests/test_oidc/test_claims.py index 69308e7..71d4e40 100644 --- a/tests/test_oidc/test_claims.py +++ b/tests/test_oidc/test_claims.py @@ -1,7 +1,7 @@ from datetime import UTC, datetime -from fastapi_oidc_op.models import User -from fastapi_oidc_op.oidc.claims import PorchlightUserInfo, user_to_claims +from porchlight.models import User +from porchlight.oidc.claims import PorchlightUserInfo, user_to_claims def test_user_to_claims_minimal() -> None: diff --git a/tests/test_oidc/test_e2e_flow.py b/tests/test_oidc/test_e2e_flow.py index 01d9d8c..0761bc5 100644 --- a/tests/test_oidc/test_e2e_flow.py +++ b/tests/test_oidc/test_e2e_flow.py @@ -9,8 +9,8 @@ from cryptojwt.jwk.jwk import key_from_jwk_dict from cryptojwt.jws.jws import JWS from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User async def test_full_authorization_code_flow(client: AsyncClient) -> None: diff --git a/tests/test_oidc/test_login_oidc_redirect.py b/tests/test_oidc/test_login_oidc_redirect.py index dd51d71..b37ade9 100644 --- a/tests/test_oidc/test_login_oidc_redirect.py +++ b/tests/test_oidc/test_login_oidc_redirect.py @@ -4,8 +4,8 @@ from datetime import UTC, datetime from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User def _register_test_client(client: AsyncClient) -> None: diff --git a/tests/test_oidc/test_provider.py b/tests/test_oidc/test_provider.py index 8b73e17..7f3b0a7 100644 --- a/tests/test_oidc/test_provider.py +++ b/tests/test_oidc/test_provider.py @@ -1,8 +1,8 @@ import shutil from pathlib import Path -from fastapi_oidc_op.config import Settings -from fastapi_oidc_op.oidc.provider import create_oidc_server +from porchlight.config import Settings +from porchlight.oidc.provider import create_oidc_server def test_create_server_has_endpoints() -> None: @@ -49,7 +49,7 @@ def test_create_server_userinfo_is_porchlight() -> None: try: settings = Settings(issuer="http://localhost:8000", sqlite_path=":memory:", signing_key_path=str(key_path)) server = create_oidc_server(settings) - from fastapi_oidc_op.oidc.claims import PorchlightUserInfo + from porchlight.oidc.claims import PorchlightUserInfo assert isinstance(server.context.userinfo, PorchlightUserInfo) finally: diff --git a/tests/test_oidc/test_token.py b/tests/test_oidc/test_token.py index c66be66..3d5a38a 100644 --- a/tests/test_oidc/test_token.py +++ b/tests/test_oidc/test_token.py @@ -6,8 +6,8 @@ from urllib.parse import parse_qs, urlparse from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User def _register_test_client(client: AsyncClient) -> str: diff --git a/tests/test_oidc/test_userinfo.py b/tests/test_oidc/test_userinfo.py index 0375802..828f1c0 100644 --- a/tests/test_oidc/test_userinfo.py +++ b/tests/test_oidc/test_userinfo.py @@ -6,8 +6,8 @@ from urllib.parse import parse_qs, urlparse from argon2 import PasswordHasher from httpx import AsyncClient -from fastapi_oidc_op.authn.password import PasswordService -from fastapi_oidc_op.models import PasswordCredential, User +from porchlight.authn.password import PasswordService +from porchlight.models import PasswordCredential, User def _register_test_client(client: AsyncClient) -> str: diff --git a/tests/test_store/conftest.py b/tests/test_store/conftest.py index 1e7b55c..4ee4100 100644 --- a/tests/test_store/conftest.py +++ b/tests/test_store/conftest.py @@ -3,10 +3,10 @@ from pathlib import Path import aiosqlite import pytest -from fastapi_oidc_op.store.sqlite.migrations import run_migrations +from porchlight.store.sqlite.migrations import run_migrations MIGRATIONS_DIR = ( - Path(__file__).resolve().parent.parent.parent / "src" / "fastapi_oidc_op" / "store" / "sqlite" / "migrations" + Path(__file__).resolve().parent.parent.parent / "src" / "porchlight" / "store" / "sqlite" / "migrations" ) diff --git a/tests/test_store/test_exceptions.py b/tests/test_store/test_exceptions.py index dd1ec9b..ff48b59 100644 --- a/tests/test_store/test_exceptions.py +++ b/tests/test_store/test_exceptions.py @@ -1,4 +1,4 @@ -from fastapi_oidc_op.store.exceptions import DuplicateError +from porchlight.store.exceptions import DuplicateError def test_duplicate_error_is_exception() -> None: diff --git a/tests/test_store/test_migrations.py b/tests/test_store/test_migrations.py index 1ca8f68..37c8c72 100644 --- a/tests/test_store/test_migrations.py +++ b/tests/test_store/test_migrations.py @@ -2,10 +2,10 @@ from pathlib import Path import aiosqlite -from fastapi_oidc_op.store.sqlite.migrations import run_migrations +from porchlight.store.sqlite.migrations import run_migrations MIGRATIONS_DIR = ( - Path(__file__).resolve().parent.parent.parent / "src" / "fastapi_oidc_op" / "store" / "sqlite" / "migrations" + Path(__file__).resolve().parent.parent.parent / "src" / "porchlight" / "store" / "sqlite" / "migrations" ) diff --git a/tests/test_store/test_protocols.py b/tests/test_store/test_protocols.py index 4b87115..9d99dd0 100644 --- a/tests/test_store/test_protocols.py +++ b/tests/test_store/test_protocols.py @@ -1,6 +1,6 @@ from typing import runtime_checkable -from fastapi_oidc_op.store.protocols import ( +from porchlight.store.protocols import ( CredentialRepository, MagicLinkRepository, UserRepository, diff --git a/tests/test_store/test_sqlite_credential_repo.py b/tests/test_store/test_sqlite_credential_repo.py index 63176b0..f423f8c 100644 --- a/tests/test_store/test_sqlite_credential_repo.py +++ b/tests/test_store/test_sqlite_credential_repo.py @@ -1,10 +1,10 @@ import aiosqlite import pytest -from fastapi_oidc_op.models import PasswordCredential, User, WebAuthnCredential -from fastapi_oidc_op.store.exceptions import DuplicateError -from fastapi_oidc_op.store.protocols import CredentialRepository -from fastapi_oidc_op.store.sqlite.repositories import ( +from porchlight.models import PasswordCredential, User, WebAuthnCredential +from porchlight.store.exceptions import DuplicateError +from porchlight.store.protocols import CredentialRepository +from porchlight.store.sqlite.repositories import ( SQLiteCredentialRepository, SQLiteUserRepository, ) diff --git a/tests/test_store/test_sqlite_magic_link_repo.py b/tests/test_store/test_sqlite_magic_link_repo.py index c8e6828..00664cd 100644 --- a/tests/test_store/test_sqlite_magic_link_repo.py +++ b/tests/test_store/test_sqlite_magic_link_repo.py @@ -3,10 +3,10 @@ from datetime import UTC, datetime, timedelta import aiosqlite import pytest -from fastapi_oidc_op.models import MagicLink -from fastapi_oidc_op.store.exceptions import DuplicateError -from fastapi_oidc_op.store.protocols import MagicLinkRepository -from fastapi_oidc_op.store.sqlite.repositories import SQLiteMagicLinkRepository +from porchlight.models import MagicLink +from porchlight.store.exceptions import DuplicateError +from porchlight.store.protocols import MagicLinkRepository +from porchlight.store.sqlite.repositories import SQLiteMagicLinkRepository @pytest.fixture diff --git a/tests/test_store/test_sqlite_user_repo.py b/tests/test_store/test_sqlite_user_repo.py index f496d60..ff2c5e6 100644 --- a/tests/test_store/test_sqlite_user_repo.py +++ b/tests/test_store/test_sqlite_user_repo.py @@ -1,10 +1,10 @@ import aiosqlite import pytest -from fastapi_oidc_op.models import User -from fastapi_oidc_op.store.exceptions import DuplicateError -from fastapi_oidc_op.store.protocols import UserRepository -from fastapi_oidc_op.store.sqlite.repositories import SQLiteUserRepository +from porchlight.models import User +from porchlight.store.exceptions import DuplicateError +from porchlight.store.protocols import UserRepository +from porchlight.store.sqlite.repositories import SQLiteUserRepository @pytest.fixture diff --git a/tests/test_userid.py b/tests/test_userid.py index a10ff89..d5fa90c 100644 --- a/tests/test_userid.py +++ b/tests/test_userid.py @@ -2,8 +2,8 @@ from unittest.mock import AsyncMock import pytest -from fastapi_oidc_op.models import User -from fastapi_oidc_op.userid import generate_unique_userid, generate_userid +from porchlight.models import User +from porchlight.userid import generate_unique_userid, generate_userid def test_generate_userid_format() -> None: