diff --git a/tests/test_utils_elog.py b/tests/test_utils_elog.py index 7aac8911..4520079c 100644 --- a/tests/test_utils_elog.py +++ b/tests/test_utils_elog.py @@ -2,6 +2,7 @@ import os import sys import tempfile import requests +from elog import LogbookAuthenticationError import elog import pytest from getpass import getuser, getpass @@ -10,23 +11,6 @@ from slic.utils.elog import Elog, get_default_elog_instance from unittest.mock import patch from bs4 import BeautifulSoup - -# Helper pour extraire uniquement le mot de passe comme dans la vraie fonction -def get_default_elog_password(url, **kwargs): - kwargs.setdefault("user", getuser()) - user = kwargs["user"] - - if "password" not in kwargs: - try: - home = Path.home() - fn = home / ".elog_psi" - with fn.open() as f: - pw = f.read().strip() - except Exception: - print(f"Enter elog password for user: {user}") - pw = getpass() - kwargs["password"] = pw - return kwargs["password"], kwargs["user"] def get_test_elog(): return Elog("http://localhost:8080/demo", user="robot", password="testpassword") @@ -36,18 +20,16 @@ def test_get_default_elog_instance_with_direct_password_and_real_check(): user = "robot" password = "testpassword" - elog_instance, returned_user = get_default_elog_instance(url, user=user, password=password) + try: + elog_instance, returned_user = get_default_elog_instance(url, user=user, password=password) + except Exception as e: + pytest.fail(f"elog.open() raised an unexpected exception: {e}") + assert returned_user == user assert hasattr(elog_instance, "post") - pw, user_returned = get_default_elog_password(url, user=user, password=password) - - try: - elog.open(url, user=user_returned, password=pw) - except Exception as e: - pytest.fail(f"elog.open() raised an unexpected exception: {e}") - + @patch("slic.utils.elog.getpass") @patch("slic.utils.elog.Path.home") def test_get_default_elog_instance_asks_password_and_opens(mock_home, mock_getpass): @@ -57,18 +39,14 @@ def test_get_default_elog_instance_asks_password_and_opens(mock_home, mock_getpa url = "http://localhost:8080/demo" user = "robot" - elog_instance, returned_user = get_default_elog_instance(url, user=user) + try: + elog_instance, returned_user = get_default_elog_instance(url, user=user) + except Exception as e: + pytest.fail(f"elog.open() raised an unexpected exception: {e}") assert returned_user == user assert hasattr(elog_instance, "post") - pw, user_returned = get_default_elog_password(url, user=user) - - try: - elog.open(url, user=user_returned, password=pw) - except Exception as e: - pytest.fail(f"elog.open() raised an unexpected exception: {e}") - @patch("slic.utils.elog.getpass") @patch("slic.utils.elog.getuser") @@ -88,18 +66,14 @@ def test_get_default_elog_with_path_home(mock_home, mock_getuser, mock_getpass): url = "http://localhost:8080/demo" try: - elog_instance, returned_user = get_default_elog_instance(url) + try: + elog_instance, returned_user = get_default_elog_instance(url) + except Exception as e: + pytest.fail(f"elog.open() raised an unexpected exception: {e}") assert returned_user == fake_user assert hasattr(elog_instance, "post") - pw, user_returned = get_default_elog_password(url) - - try: - elog.open(url, user=user_returned, password=pw) - except Exception as e: - pytest.fail(f"elog.open() raised an unexpected exception: {e}") - finally: pw_file.unlink(missing_ok=True) tmp_home.rmdir() @@ -109,7 +83,7 @@ def test_get_default_elog_instance_with_wrong_password(): user = "robot" wrong_password = "wrongpassword" - with pytest.raises(LogbookAuthenticationError): + with pytest.raises(elog.LogbookAuthenticationError): get_default_elog_instance(url, user=user, password=wrong_password)