From b4f48f1ad946262b8a98a99e5f13d0d28df4a660 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 20 Sep 2023 18:35:38 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20fix(test=5Fuser.py):=20update=20?= =?UTF-8?q?imports=20to=20match=20changes=20in=20project=20structure=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(test=5Fuser.py):=20update=20fixtures=20to=20?= =?UTF-8?q?use=20session=5Fgetter=20and=20get=5Fdb=5Fmanager=20functions?= =?UTF-8?q?=20for=20session=20management=20=E2=9C=A8=20feat(test=5Fuser.py?= =?UTF-8?q?):=20add=20support=20for=20creating=20and=20managing=20database?= =?UTF-8?q?=20sessions=20using=20session=5Fgetter=20and=20get=5Fdb=5Fmanag?= =?UTF-8?q?er=20functions=20=F0=9F=94=A7=20fix(test=5Fuser.py):=20update?= =?UTF-8?q?=20test=5Fuser=5Fwaiting=5Ffor=5Fapproval=20function=20to=20use?= =?UTF-8?q?=20session=5Fgetter=20and=20get=5Fdb=5Fmanager=20functions=20fo?= =?UTF-8?q?r=20session=20management=20=F0=9F=94=A7=20fix(test=5Fuser.py):?= =?UTF-8?q?=20update=20test=5Fdata=5Fconsistency=5Fafter=5Fdelete=20functi?= =?UTF-8?q?on=20to=20use=20session=5Fgetter=20and=20get=5Fdb=5Fmanager=20f?= =?UTF-8?q?unctions=20for=20session=20management=20=F0=9F=94=A7=20fix(test?= =?UTF-8?q?=5Fuser.py):=20update=20test=5Finactive=5Fuser=20function=20to?= =?UTF-8?q?=20use=20session=5Fgetter=20and=20get=5Fdb=5Fmanager=20function?= =?UTF-8?q?s=20for=20session=20management?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_user.py | 78 +++++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 35 deletions(-) diff --git a/tests/test_user.py b/tests/test_user.py index f28eb101c..27894e515 100644 --- a/tests/test_user.py +++ b/tests/test_user.py @@ -2,20 +2,22 @@ from datetime import datetime from langflow.services.auth.utils import create_super_user, get_password_hash from langflow.services.database.models.user.user import User -from langflow.services.getters import get_settings_manager +from langflow.services.database.utils import session_getter +from langflow.services.getters import get_db_manager, get_settings_manager import pytest from langflow.services.database.models.user import UserUpdate @pytest.fixture -def super_user(client, session): +def super_user(client): settings_manager = get_settings_manager() auth_settings = settings_manager.auth_settings - return create_super_user( - db=session, - username=auth_settings.SUPERUSER, - password=auth_settings.SUPERUSER_PASSWORD, - ) + with session_getter(get_db_manager()) as session: + return create_super_user( + db=session, + username=auth_settings.SUPERUSER, + password=auth_settings.SUPERUSER_PASSWORD, + ) @pytest.fixture @@ -34,29 +36,34 @@ def super_user_headers(client, super_user): @pytest.fixture -def deactivated_user(session): - user = User( - username="deactivateduser", - password=get_password_hash("testpassword"), - is_active=False, - is_superuser=False, - last_login_at=datetime.now(), - ) - session.add(user) - session.commit() +def deactivated_user(): + with session_getter(get_db_manager()) as session: + user = User( + username="deactivateduser", + password=get_password_hash("testpassword"), + is_active=False, + is_superuser=False, + last_login_at=datetime.now(), + ) + session.add(user) + session.commit() + session.refresh(user) return user -def test_user_waiting_for_approval(client, session): +def test_user_waiting_for_approval( + client, +): # Create a user that is not active and has never logged in - user = User( - username="waitingforapproval", - password=get_password_hash("testpassword"), - is_active=False, - last_login_at=None, - ) - session.add(user) - session.commit() + with session_getter(get_db_manager()) as session: + user = User( + username="waitingforapproval", + password=get_password_hash("testpassword"), + is_active=False, + last_login_at=None, + ) + session.add(user) + session.commit() login_data = {"username": "waitingforapproval", "password": "testpassword"} response = client.post("/api/v1/login", data=login_data) @@ -106,16 +113,17 @@ def test_data_consistency_after_delete(client, test_user, super_user_headers): assert all(user["id"] != user_id for user in response.json()["users"]) -def test_inactive_user(client, session): +def test_inactive_user(client): # Create a user that is not active and has a last_login_at value - user = User( - username="inactiveuser", - password=get_password_hash("testpassword"), - is_active=False, - last_login_at="2023-01-01T00:00:00", # Set to a valid datetime string - ) - session.add(user) - session.commit() + with session_getter(get_db_manager()) as session: + user = User( + username="inactiveuser", + password=get_password_hash("testpassword"), + is_active=False, + last_login_at="2023-01-01T00:00:00", # Set to a valid datetime string + ) + session.add(user) + session.commit() login_data = {"username": "inactiveuser", "password": "testpassword"} response = client.post("/api/v1/login", data=login_data)