mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-05 00:42:19 +00:00
login tests, session model
This commit is contained in:
@@ -49,7 +49,7 @@ def login(session: dict) -> LoginStatus:
|
||||
The session info.
|
||||
"""
|
||||
response = Hub.fetch_user_configs(session)
|
||||
if response:
|
||||
if response is not None:
|
||||
if response.status_code == 200:
|
||||
configs = json.loads(response.content)
|
||||
email = configs.get("email", "")
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# IMPORTATION STANDARD
|
||||
|
||||
# IMPORTATION THIRDPARTY
|
||||
import json
|
||||
from unittest.mock import patch
|
||||
import pytest
|
||||
from requests import Response
|
||||
|
||||
# IMPORTATION INTERNAL
|
||||
from openbb_terminal.session import session_model
|
||||
@@ -43,3 +45,59 @@ def test_create_session(email, password, save):
|
||||
mock_get_session.assert_called_once_with(email, password)
|
||||
if save and session:
|
||||
mock_save_session.assert_called_once_with(session)
|
||||
|
||||
|
||||
@patch("openbb_terminal.session.session_model.Hub.fetch_user_configs")
|
||||
@patch("openbb_terminal.session.session_model.Local.apply_configs")
|
||||
@patch("openbb_terminal.session.session_model.User.load_user_info")
|
||||
@patch("openbb_terminal.session.session_model.User.update_flair")
|
||||
def test_login_no_response(
|
||||
mock_update_flair, mock_load_user_info, mock_apply_configs, mock_fetch_user_configs
|
||||
):
|
||||
|
||||
mock_fetch_user_configs.return_value = None
|
||||
assert session_model.login(TEST_SESSION) == session_model.LoginStatus.NO_RESPONSE
|
||||
|
||||
mock_fetch_user_configs.assert_called_once_with(TEST_SESSION)
|
||||
mock_apply_configs.assert_not_called()
|
||||
mock_load_user_info.assert_not_called()
|
||||
mock_update_flair.assert_not_called()
|
||||
|
||||
|
||||
@patch("openbb_terminal.session.session_model.Hub.fetch_user_configs")
|
||||
@patch("openbb_terminal.session.session_model.Local.apply_configs")
|
||||
@patch("openbb_terminal.session.session_model.User.load_user_info")
|
||||
@patch("openbb_terminal.session.session_model.User.update_flair")
|
||||
def test_login_fail_response(
|
||||
mock_update_flair, mock_load_user_info, mock_apply_configs, mock_fetch_user_configs
|
||||
):
|
||||
|
||||
response = Response()
|
||||
response.status_code = 400
|
||||
mock_fetch_user_configs.return_value = response
|
||||
assert session_model.login(TEST_SESSION) == session_model.LoginStatus.FAILED
|
||||
|
||||
mock_fetch_user_configs.assert_called_once_with(TEST_SESSION)
|
||||
mock_apply_configs.assert_not_called()
|
||||
mock_load_user_info.assert_not_called()
|
||||
mock_update_flair.assert_not_called()
|
||||
|
||||
|
||||
@patch("openbb_terminal.session.session_model.Hub.fetch_user_configs")
|
||||
@patch("openbb_terminal.session.session_model.Local.apply_configs")
|
||||
@patch("openbb_terminal.session.session_model.User.load_user_info")
|
||||
@patch("openbb_terminal.session.session_model.User.update_flair")
|
||||
def test_login_success_response(
|
||||
mock_update_flair, mock_load_user_info, mock_apply_configs, mock_fetch_user_configs
|
||||
):
|
||||
|
||||
response = Response()
|
||||
response.status_code = 200
|
||||
response._content = json.dumps(TEST_SESSION) # pylint: disable=protected-access
|
||||
mock_fetch_user_configs.return_value = response
|
||||
assert session_model.login(TEST_SESSION) == session_model.LoginStatus.SUCCESS
|
||||
|
||||
mock_fetch_user_configs.assert_called_once_with(TEST_SESSION)
|
||||
mock_apply_configs.assert_called_once()
|
||||
mock_load_user_info.assert_called_once()
|
||||
mock_update_flair.assert_called_once()
|
||||
|
||||
Reference in New Issue
Block a user