from typing import Any, Dict, Optional, cast import pytest from authlib import jose from tests.typing import MakeTokenType @pytest.fixture def jwk_set() -> Dict[str, Any]: return { "keys": [ { "kty": "oct", "use": "sig", "kid": "test", "k": ( "TqEyuwilAkbKnQGqlSO6QMl_fHIGmdLB1QTHky6p-CDn8af_N" "UFu06CypLzNpb749eoMbPZXL8H2-D3A4DZAw6FoGUpofr447V" "G_fAnHiojjI7x3qj_U5QtVs0OQOVqHM1WCXoAf0_Zkn6iG1sm" "HTdwGuxii4FN61wP5HS_o2vfT3ZRyvyfO4sS-minEsYE0pckf" "JT-tRpZWV9tVuTcityDlqCWc0skYgz8CD-8h8u7g4flmoAIJH" "ZS4Qzw4Yhlh7mk3MntcOinO5smvOs7roHSUcK_geqHD90CVev" "1WuT9eXo-55IuWnoLXB4WVLZKRLn5ffOcVWHETuOmNh-LlVA" ), } ] } @pytest.fixture def make_token(jwk_set: Dict[str, Any]) -> MakeTokenType: def impl(payload: Optional[Dict[str, Any]] = None) -> str: payload = payload or {} return cast( str, jose.jwt.encode( header={"alg": "HS256", "kid": "test"}, payload=payload, key=jwk_set, ).decode(), ) return impl