✅ Add normal-user fixture for testing (#20)

This commit is contained in:
Manu
2020-01-19 13:25:17 +01:00
committed by Sebastián Ramírez
parent 44d8a4358b
commit 248ea56c6e
4 changed files with 43 additions and 7 deletions
@@ -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)