From d26773ecb30245381927a9cf8805760d68f641a6 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Sat, 10 Oct 2026 10:59:40 +0300 Subject: [PATCH] chore: import datetime as dt for ruff 0.17 --- jwks_client/client.py | 4 ++-- jwks_client/testing.py | 8 ++++---- jwks_client/verifier.py | 4 ++-- tests/conftest.py | 4 ++-- tests/test_decode.py | 6 +++--- tests/test_testing.py | 4 ++-- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/jwks_client/client.py b/jwks_client/client.py index 5e8d630..08244ea 100644 --- a/jwks_client/client.py +++ b/jwks_client/client.py @@ -1,6 +1,6 @@ import asyncio import dataclasses -import datetime +import datetime as dt import logging import math import time @@ -126,7 +126,7 @@ async def decode( algorithms: Sequence[str], audience: str | Iterable[str] | None = None, issuer: str | Container[str] | None = None, - leeway: float | datetime.timedelta = 0, + leeway: float | dt.timedelta = 0, options: Options | None = None, ) -> dict[str, typing.Any]: header: typing.Final = jwt.get_unverified_header(token) diff --git a/jwks_client/testing.py b/jwks_client/testing.py index 1ea8f5d..04ba080 100644 --- a/jwks_client/testing.py +++ b/jwks_client/testing.py @@ -1,4 +1,4 @@ -import datetime +import datetime as dt import json import typing from collections.abc import Mapping @@ -12,7 +12,7 @@ from jwks_client.client import JWKSClient -DEFAULT_TOKEN_LIFETIME: typing.Final = datetime.timedelta(minutes=5) +DEFAULT_TOKEN_LIFETIME: typing.Final = dt.timedelta(minutes=5) class FakeIdentityProvider: @@ -28,10 +28,10 @@ def issue_token( self, claims: Mapping[str, typing.Any] | None = None, *, - expires_in: datetime.timedelta = DEFAULT_TOKEN_LIFETIME, + expires_in: dt.timedelta = DEFAULT_TOKEN_LIFETIME, headers: Mapping[str, typing.Any] | None = None, ) -> str: - now: typing.Final = datetime.datetime.now(tz=datetime.UTC) + now: typing.Final = dt.datetime.now(tz=dt.UTC) payload: typing.Final = {"iss": self.issuer, "iat": now, "exp": now + expires_in} | dict(claims or {}) return jwt.encode( payload, self._private_key, algorithm="RS256", headers={"kid": self.kid} | dict(headers or {}) diff --git a/jwks_client/verifier.py b/jwks_client/verifier.py index 5f9c8f6..08c3306 100644 --- a/jwks_client/verifier.py +++ b/jwks_client/verifier.py @@ -1,4 +1,4 @@ -import datetime +import datetime as dt import typing from collections.abc import Callable, Container, Iterable, Sequence @@ -25,7 +25,7 @@ def __init__( algorithms: Sequence[str], audience: str | Iterable[str] | None = None, issuer: str | Container[str] | None = None, - leeway: float | datetime.timedelta = 0, + leeway: float | dt.timedelta = 0, options: Options | None = None, ) -> None: if not algorithms: diff --git a/tests/conftest.py b/tests/conftest.py index f91617a..c148971 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,6 @@ import asyncio import dataclasses -import datetime +import datetime as dt import json import typing @@ -31,7 +31,7 @@ def to_jwk(self, **extra: str) -> dict[str, typing.Any]: def issue_token( self, claims: dict[str, typing.Any] | None = None, *, algorithm: str = "RS256", **headers: str ) -> str: - payload = {"sub": "user-1", "exp": datetime.datetime.now(tz=datetime.UTC) + datetime.timedelta(minutes=5)} + payload = {"sub": "user-1", "exp": dt.datetime.now(tz=dt.UTC) + dt.timedelta(minutes=5)} return jwt.encode( payload | (claims or {}), self.private_key, algorithm=algorithm, headers={"kid": self.kid} | headers ) diff --git a/tests/test_decode.py b/tests/test_decode.py index f60a3d5..25022db 100644 --- a/tests/test_decode.py +++ b/tests/test_decode.py @@ -1,4 +1,4 @@ -import datetime +import datetime as dt import typing import jwt @@ -35,7 +35,7 @@ async def test_decode_rejects_expired_token( ) -> None: server.serve(signing_key.to_jwk()) client = make_client() - expired = datetime.datetime.now(tz=datetime.UTC) - datetime.timedelta(minutes=1) + expired = dt.datetime.now(tz=dt.UTC) - dt.timedelta(minutes=1) with pytest.raises(jwt.ExpiredSignatureError): await client.decode(signing_key.issue_token({"exp": expired}), algorithms=["RS256"]) @@ -46,7 +46,7 @@ async def test_decode_honours_leeway( ) -> None: server.serve(signing_key.to_jwk()) client = make_client() - expired = datetime.datetime.now(tz=datetime.UTC) - datetime.timedelta(seconds=10) + expired = dt.datetime.now(tz=dt.UTC) - dt.timedelta(seconds=10) claims = await client.decode(signing_key.issue_token({"exp": expired}), algorithms=["RS256"], leeway=60) diff --git a/tests/test_testing.py b/tests/test_testing.py index ed606d9..5783988 100644 --- a/tests/test_testing.py +++ b/tests/test_testing.py @@ -1,4 +1,4 @@ -import datetime +import datetime as dt import jwt import pytest @@ -22,7 +22,7 @@ async def test_fake_identity_provider_issues_expired_tokens() -> None: verifier = JWTVerifier(idp.create_jwks_client(), algorithms=["RS256"]) with pytest.raises(jwt.ExpiredSignatureError): - await verifier.verify(idp.issue_token(expires_in=datetime.timedelta(seconds=-1))) + await verifier.verify(idp.issue_token(expires_in=dt.timedelta(seconds=-1))) async def test_fake_identity_provider_headers_override_kid() -> None: