1
0
Fork 0
pgcli/tests/test_auth.py

41 lines
1.4 KiB
Python

import pytest
from unittest import mock
from pgcli import auth
@pytest.mark.parametrize("enabled,call_count", [(True, 1), (False, 0)])
def test_keyring_initialize(enabled, call_count):
logger = mock.MagicMock()
with mock.patch("importlib.import_module", return_value=True) as import_method:
auth.keyring_initialize(enabled, logger=logger)
assert import_method.call_count == call_count
def test_keyring_get_password_ok():
with mock.patch("pgcli.auth.keyring", return_value=mock.MagicMock()):
with mock.patch("pgcli.auth.keyring.get_password", return_value="abc123"):
assert auth.keyring_get_password("test") == "abc123"
def test_keyring_get_password_exception():
with mock.patch("pgcli.auth.keyring", return_value=mock.MagicMock()):
with mock.patch(
"pgcli.auth.keyring.get_password", side_effect=Exception("Boom!")
):
assert auth.keyring_get_password("test") == ""
def test_keyring_set_password_ok():
with mock.patch("pgcli.auth.keyring", return_value=mock.MagicMock()):
with mock.patch("pgcli.auth.keyring.set_password"):
auth.keyring_set_password("test", "abc123")
def test_keyring_set_password_exception():
with mock.patch("pgcli.auth.keyring", return_value=mock.MagicMock()):
with mock.patch(
"pgcli.auth.keyring.set_password", side_effect=Exception("Boom!")
):
auth.keyring_set_password("test", "abc123")