mirror of
https://github.com/fastapi/full-stack-fastapi-template.git
synced 2026-11-03 20:36:27 +00:00
✅ Add normal-user fixture for testing (#20)
This commit is contained in:
@@ -3,8 +3,8 @@ import requests
|
||||
from app import crud
|
||||
from app.core import config
|
||||
from app.db.session import db_session
|
||||
from app.models.user import UserCreate
|
||||
from app.tests.utils.utils import random_lower_string
|
||||
from app.models.user import UserCreate, UserUpdate
|
||||
from app.tests.utils.utils import get_server_api, random_lower_string
|
||||
|
||||
|
||||
def user_authentication_headers(server_api, email, password):
|
||||
@@ -23,3 +23,21 @@ def create_random_user():
|
||||
user_in = UserCreate(username=email, email=email, password=password)
|
||||
user = crud.user.create(db_session=db_session, user_in=user_in)
|
||||
return user
|
||||
|
||||
|
||||
def authentication_token_from_email(email):
|
||||
"""
|
||||
Return a valid token for the user with given email.
|
||||
|
||||
If the user doesn't exist it is created first.
|
||||
"""
|
||||
password = random_lower_string()
|
||||
user = crud.user.get_by_email(db_session, email=email)
|
||||
if not user:
|
||||
user_in = UserCreate(username=email, email=email, password=password)
|
||||
user = crud.user.create(db_session=db_session, user_in=user_in)
|
||||
else:
|
||||
user_in = UserUpdate(password=password)
|
||||
user = crud.user.update(db_session, user=user, user_in=user_in)
|
||||
|
||||
return user_authentication_headers(get_server_api(), email, password)
|
||||
|
||||
Reference in New Issue
Block a user