From 28d16cde4e0963b33a6ea10d8f06b872a17977a5 Mon Sep 17 00:00:00 2001 From: Tommaso Comparin <3862206+tcompa@users.noreply.github.com> Date: Wed, 18 Sep 2024 16:27:36 +0200 Subject: [PATCH] Add `test_unit_user_settings.py` --- tests/no_version/test_unit_user_settings.py | 63 +++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 tests/no_version/test_unit_user_settings.py diff --git a/tests/no_version/test_unit_user_settings.py b/tests/no_version/test_unit_user_settings.py new file mode 100644 index 000000000..8d12788a4 --- /dev/null +++ b/tests/no_version/test_unit_user_settings.py @@ -0,0 +1,63 @@ +from devtools import debug + +from fractal_server.app.models import UserOAuth +from fractal_server.app.models import UserSettings + + +async def test_unit_link_user_to_settings(db): + # User with no settings + user_A = UserOAuth( + email="a@a.a", + hashed_password="xxx", + is_active=True, + is_superuser=False, + is_verified=True, + ) + db.add(user_A) + await db.commit() + await db.refresh(user_A) + debug(user_A) + assert user_A.settings is None + assert user_A.user_settings_id is None + + # User associated to settings after its initial creation + user_settings_1 = UserSettings(ssh_host="127.0.0.1") + db.add(user_settings_1) + await db.commit() + await db.refresh(user_settings_1) + debug(user_settings_1) + + user_B = UserOAuth( + email="b@b.b", + hashed_password="xxx", + is_active=True, + is_superuser=False, + is_verified=True, + user_settings_id=user_settings_1.id, + ) + db.add(user_B) + await db.commit() + await db.refresh(user_B) + debug(user_B) + + assert user_B.settings is not None + assert user_B.user_settings_id is not None + + # User associated to settings upon its initial creation + user_settings_2 = UserSettings(ssh_host="127.0.0.1") + user_C = UserOAuth( + email="c@c.c", + hashed_password="xxx", + is_active=True, + is_superuser=False, + is_verified=True, + settings=user_settings_2, + ) + db.add(user_C) + await db.commit() + await db.refresh(user_C) + debug(user_C) + assert user_C.settings is not None + assert user_C.user_settings_id is not None + + # FIXME: Test delete cascade