def __init__( self, db: BaseUserDatabase, auth_backends: Sequence[BaseAuthentication], user_model: Type[models.BaseUser], user_create_model: Type[models.BaseUserCreate], user_update_model: Type[models.BaseUserUpdate], user_db_model: Type[models.BaseUserDB], validate_password: Optional[ValidatePasswordProtocol] = None, ): self.db = db self.authenticator = Authenticator(auth_backends, db) self._user_model = user_model self._user_db_model = user_db_model self._user_create_model = user_create_model self._user_update_model = user_update_model self._user_db_model = user_db_model self.create_user = get_create_user(db, user_db_model) self.verify_user = get_verify_user(db) self.get_user = get_get_user(db) self.validate_password = validate_password self.current_user = self.authenticator.current_user self.get_current_user = self.authenticator.get_current_user self.get_current_active_user = self.authenticator.get_current_active_user self.get_current_verified_user = self.authenticator.get_current_verified_user self.get_current_superuser = self.authenticator.get_current_superuser self.get_current_verified_superuser = ( self.authenticator.get_current_verified_superuser) self.get_optional_current_user = self.authenticator.get_optional_current_user self.get_optional_current_active_user = ( self.authenticator.get_optional_current_active_user) self.get_optional_current_verified_user = ( self.authenticator.get_optional_current_verified_user) self.get_optional_current_superuser = ( self.authenticator.get_optional_current_superuser) self.get_optional_current_verified_superuser = ( self.authenticator.get_optional_current_verified_superuser)
async def test_app_client( mock_user_db, after_verification_request, after_verification, get_test_client, ) -> AsyncGenerator[httpx.AsyncClient, None]: verify_user = get_verify_user(mock_user_db) get_user = get_get_user(mock_user_db) verify_router = get_verify_router( verify_user, get_user, User, SECRET, LIFETIME, after_verification_request, after_verification, ) app = FastAPI() app.include_router(verify_router) async for client in get_test_client(app): yield client
def verify_user(mock_user_db, ) -> VerifyUserProtocol: return get_verify_user(mock_user_db)