- Add canonical_principal(provider, sub) => 'oidc:v1:<provider>:<sub>' - Preserve provider identity across HTTP sessions and WebSockets - Apply principals throughout: game creation/joining/seating, WebSocket views/actions, Redis engine state, match history, leaderboard focus, ratings, /api/me, OpenAPI, and telemetry - Widen identity columns to 1024 chars with schema-only aerich migration (5_20261024221522_canonical_principals.py) - Document provider names as stable security identifiers - Add regression tests: same subject at different providers cannot share games, private hands, join codes, moves, history, or ratings; distinct seat and rating ownership verified - All platform, integration, game, and frontend tests pass; mypy clean
6 lines
246 B
Python
6 lines
246 B
Python
"""Test helpers package for the tavolo-app integration suite."""
|
|
from .asynctest import async_test
|
|
from .oidc import make_principal, make_user, oidc_user, ws_users
|
|
|
|
__all__ = ["async_test", "make_principal", "make_user", "oidc_user", "ws_users"]
|