Put exceptions in a dedicated module to avoid circular imports

This commit is contained in:
François Voron
2022-05-06 13:17:22 +02:00
parent 5f57c75813
commit 78be936297
15 changed files with 118 additions and 141 deletions

View File

@ -22,18 +22,12 @@ from httpx_oauth.oauth2 import OAuth2
from pydantic import UUID4, SecretStr
from pytest_mock import MockerFixture
from fastapi_users import models, schemas
from fastapi_users import exceptions, models, schemas
from fastapi_users.authentication import AuthenticationBackend, BearerTransport
from fastapi_users.authentication.strategy import Strategy
from fastapi_users.db import BaseUserDatabase
from fastapi_users.jwt import SecretType
from fastapi_users.manager import (
BaseUserManager,
InvalidID,
InvalidPasswordException,
UserNotExists,
UUIDIDMixin,
)
from fastapi_users.manager import BaseUserManager, UUIDIDMixin
from fastapi_users.openapi import OpenAPIResponseType
from fastapi_users.password import PasswordHelper
@ -101,7 +95,7 @@ class BaseTestUserManager(
self, password: str, user: Union[schemas.UC, models.UP]
) -> None:
if len(password) < 3:
raise InvalidPasswordException(
raise exceptions.InvalidPasswordException(
reason="Password should be at least 3 characters"
)
@ -533,7 +527,7 @@ class MockStrategy(Strategy[UserModel, IDType]):
try:
parsed_id = user_manager.parse_id(token)
return await user_manager.get(parsed_id)
except (InvalidID, UserNotExists):
except (exceptions.InvalidID, exceptions.UserNotExists):
return None
return None

View File

@ -5,9 +5,7 @@ from fastapi.security import OAuth2PasswordRequestForm
from pydantic import UUID4
from pytest_mock import MockerFixture
from fastapi_users.jwt import decode_jwt, generate_jwt
from fastapi_users.manager import (
IntegerIDMixin,
from fastapi_users.exceptions import (
InvalidID,
InvalidPasswordException,
InvalidResetPasswordToken,
@ -17,6 +15,8 @@ from fastapi_users.manager import (
UserInactive,
UserNotExists,
)
from fastapi_users.jwt import decode_jwt, generate_jwt
from fastapi_users.manager import IntegerIDMixin
from tests.conftest import (
UserCreate,
UserManagerMock,

View File

@ -4,7 +4,7 @@ import httpx
import pytest
from fastapi import FastAPI, status
from fastapi_users.manager import (
from fastapi_users.exceptions import (
InvalidPasswordException,
InvalidResetPasswordToken,
UserInactive,

View File

@ -4,7 +4,7 @@ import httpx
import pytest
from fastapi import FastAPI, status
from fastapi_users.manager import (
from fastapi_users.exceptions import (
InvalidVerifyToken,
UserAlreadyVerified,
UserInactive,