File tree Expand file tree Collapse file tree 2 files changed +24
-2
lines changed
tests/test_units/test_auth Expand file tree Collapse file tree 2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -14,9 +14,10 @@ def create_secret(bytes_length=1024): # pragma: no cover
1414
1515
1616def _get_expires_at (expires_in ):
17- expires_at = datetime .datetime .utcnow () + datetime .timedelta (seconds = expires_in )
17+ expires_at = datetime .datetime .now () + datetime .timedelta (seconds = expires_in )
1818 # account for clock skew
1919 expires_at -= datetime .timedelta (seconds = 120 )
20+ expires_at = expires_at .astimezone (datetime .timezone .utc ).replace (tzinfo = None )
2021 return expires_at .isoformat ()
2122
2223
@@ -30,7 +31,9 @@ def _is_expired(expires_at):
3031 expires_at = _parse_isoformat (expires_at )
3132 else :
3233 expires_at = datetime .datetime .fromisoformat (expires_at )
33- if datetime .datetime .utcnow () >= expires_at :
34+ if expires_at .tzinfo is None :
35+ expires_at = expires_at .replace (tzinfo = datetime .timezone .utc )
36+ if datetime .datetime .now (datetime .timezone .utc ) >= expires_at :
3437 return True
3538 else :
3639 return False
Original file line number Diff line number Diff line change 1+ import datetime
2+
3+ from aiogoogle .auth .utils import _get_expires_at , _is_expired
4+
5+
6+ def test_get_expires_at ():
7+ exp_str = _get_expires_at (120 )
8+ exp_dt = datetime .datetime .fromisoformat (exp_str )
9+ assert exp_dt .tzinfo is None
10+ delta = datetime .datetime .now (datetime .timezone .utc ).replace (tzinfo = None ) - exp_dt
11+ assert - 1 < delta .seconds < 1
12+
13+
14+ def test_is_expired ():
15+ # correctness not tested, but none of these should raise an exception
16+ _is_expired ("2024-10-01T14:26:21" )
17+ _is_expired ("2024-10-01T14:26:21+00:00" )
18+ _is_expired (datetime .datetime .now ())
19+ _is_expired (datetime .datetime .now (datetime .timezone .utc ))
You can’t perform that action at this time.
0 commit comments