1from __future__ import annotations
2
3from typing import Any
4
5from plain.runtime import settings
6
7from .core import SessionStore
8
9__all__ = ["get_client_session"]
10
11
12def get_client_session(client: Any) -> SessionStore:
13 """Return the current session variables for a test client."""
14 cookie = client.cookies.get(settings.SESSION_COOKIE_NAME)
15 if cookie:
16 return SessionStore(cookie.value)
17 session = SessionStore()
18 session.save()
19 client.cookies[settings.SESSION_COOKIE_NAME] = session.session_key
20 return session