Files
OpenBB/tests/openbb_terminal/session/test_user.py
2023-02-02 23:42:22 +00:00

93 lines
1.9 KiB
Python

# IMPORTATION STANDARD
from unittest.mock import patch
# IMPORTATION THIRDPARTY
import pytest
# IMPORTATION INTERNAL
from openbb_terminal.session import user
# pylint: disable=protected-access, redefined-outer-name
TEST_SESSION = {
"access_token": "test_token",
"token_type": "bearer",
"uuid": "test_uuid",
}
@pytest.fixture
def User():
"""User fixture."""
user.User.load_user_info(TEST_SESSION, "test@email.com")
yield user.User
class obbff:
"""Mock obbff."""
USE_FLAIR = ""
SYNC_ENABLED = True
def test_load_user_info(User):
"""Test load user info."""
assert User._token == "test_token"
assert User._token_type == "bearer"
assert User._uuid == "test_uuid"
assert User._email == "test@email.com"
@patch("openbb_terminal.session.user.obbff", obbff)
def test_update_flair(User):
"""Test update flair."""
User.update_flair(flair=None)
assert obbff.USE_FLAIR == "[test] 🦋"
def test_get_session(User):
"""Test get session."""
assert User.get_session() == TEST_SESSION
def test_get_uuid(User):
"""Test get uuid."""
assert User.get_uuid() == "test_uuid"
@pytest.mark.record_stdout
@pytest.mark.parametrize(
"sync, guest",
[
(False, False),
(True, False),
(True, True),
],
)
def test_whoami(User, sync, guest):
"""Test whoami."""
path = "openbb_terminal.session.user."
with (
patch(path + "obbff.SYNC_ENABLED", sync),
patch(path + "User.is_guest", return_value=guest),
):
User.whoami()
def test_clear(User):
"""Test clear."""
User.clear()
assert User._token == ""
assert User._token_type == ""
assert User._uuid == ""
assert User._email == ""
def test_get_auth_header(User):
assert User.get_auth_header() == "Bearer test_token"
def test_get_token(User):
assert User.get_token() == "test_token"