diff --git a/src/kwork_api/__pycache__/client.cpython-312.pyc b/src/kwork_api/__pycache__/client.cpython-312.pyc index fa4ac2c..23a4b4c 100644 Binary files a/src/kwork_api/__pycache__/client.cpython-312.pyc and b/src/kwork_api/__pycache__/client.cpython-312.pyc differ diff --git a/src/kwork_api/client.py b/src/kwork_api/client.py index bcdd10c..499eab6 100644 --- a/src/kwork_api/client.py +++ b/src/kwork_api/client.py @@ -162,12 +162,12 @@ class KworkClient: return self._cookies.copy() @property - def credentials(self) -> dict[str, str | None]: + def credentials(self) -> dict[str, str]: """ Учётные данные для восстановления сессии. Returns: - Словарь с token и cookies для передачи в KworkClient(). + Словарь со всеми cookies (включая slrememberme и userId) для передачи в KworkClient(cookies=...). Example: # Сохранение @@ -179,12 +179,9 @@ class KworkClient: # Восстановление with open("session.json") as f: creds = json.load(f) - client = KworkClient(**creds) + client = KworkClient(cookies=creds) """ - return { - "token": self._token, - "cookies": self._cookies.copy() if self._cookies else None, - } + return self._cookies.copy() if self._cookies else {} @classmethod async def login( diff --git a/tests/e2e/test_auth.py b/tests/e2e/test_auth.py index 9ee610b..6662914 100644 --- a/tests/e2e/test_auth.py +++ b/tests/e2e/test_auth.py @@ -31,16 +31,16 @@ async def test_login_invalid_credentials(): @pytest.mark.e2e async def test_restore_session(require_credentials): - """E2E: Восстановление сессии из токена.""" + """E2E: Восстановление сессии из cookies.""" # First login client1 = await KworkClient.login( username=require_credentials["username"], password=require_credentials["password"] ) - token = client1.token + credentials = client1.credentials # Get all cookies await client1.close() - # Restore from token - client2 = KworkClient(token=token) + # Restore from credentials (all cookies) + client2 = KworkClient(cookies=credentials) try: user = await client2.user.get_info() assert user["username"] == require_credentials["username"]