def test_correct_setters(): account_main = AccountMain() account_session = AccountSession() account_session.account_main = account_main assert account_session.account_main is account_main
async def wrapper(request, *args, **kwargs): if not request.headers.get('auth-token'): return ErrorEnum.FORBIDDEN.get_response_with_error() session_id = AccountSession.get_session_id_from_token( request.headers.get('auth-token')) if not session_id: return ErrorEnum.INVALID_OR_OUTDATED_TOKEN.get_response_with_error( ) account_main, err = await AuthService.get_account_main_by_session_id( session_id) if err: return err.get_response_with_error() if not account_main: return ErrorEnum.INVALID_OR_OUTDATED_TOKEN.get_response_with_error( ) response = func(request, *args, auth_account_main_id=account_main.id, **kwargs) if isawaitable(response): response = await response return response
async def auth_basic(account_main: AccountMain) -> Tuple[Optional[AccountMain], Optional[Error]]: account_main.create_hash_password() account_main, err = await AccountMainDao().get_by_email_hash_password(account_main) if err: return None, err if not account_main: return None, ErrorEnum.WRONG_EMAIL_PASSWORD account_session = AccountSession(account_main=account_main) account_session, err = await AccountSessionDao().add(account_session) if err: return None, err account_main.auth_token = account_session.create_token() return account_main, None
async def register(account_main: AccountMain) -> Tuple[Optional[AccountMain], Optional[Error]]: account_main.create_hash_password() account_main, err = await AccountMainDao().add(account_main) if err: return None, err account_session = AccountSession(account_main=account_main) account_session, err = await AccountSessionDao().add(account_session) if err: return None, err account_main.auth_token = account_session.create_token() auth_code = AuthCode(account_main=account_main) auth_code.create_random_code() _, err = await AuthCodeDao().add(auth_code) account_main.is_email_sent = Mail.send_email(EMAIL_CODE_TYPE, account_main.email, auth_code.code) return account_main, None
async def add( self, account_session: AccountSession ) -> Tuple[Optional[AccountSession], Optional[Error]]: async with self.pool.acquire() as conn: session_id = await conn.fetchval( """ INSERT INTO account_session(account_main_id) VALUES ($1) RETURNING id; """, account_session.account_main.id) account_session.id = session_id return account_session, None
def test_empty_init(): account_session = AccountSession() assert account_session.account_main is None
def test_incorrect_setters(): account_session = AccountSession() with pytest.raises(TypeError): account_session.account_main = 1234
def test_incorrect_init(): with pytest.raises(TypeError): AccountSession(account_main=123)
def test_correct_init(): account_main = AccountMain() account_session = AccountSession(account_main=account_main) assert account_session.account_main is account_main