|
1 | 1 | import base64
|
2 | 2 | import json
|
| 3 | +from datetime import datetime, timedelta |
3 | 4 |
|
4 | 5 | try:
|
5 |
| - from datetime import UTC, datetime, timedelta |
6 |
| - |
7 |
| - utc_now = datetime.now(UTC) # Preferred in Python 3.13+ |
| 6 | + from datetime import UTC # Preferred in Python 3.13+ |
8 | 7 | except ImportError:
|
9 |
| - from datetime import datetime, timedelta, timezone |
| 8 | + from datetime import timezone # Preferred in Python 3.12 and below |
10 | 9 |
|
11 |
| - utc_now = datetime.now(timezone.utc) # Preferred in Python 3.12 and below |
12 | 10 | UTC = timezone.utc
|
13 | 11 |
|
14 |
| - |
15 | 12 | import pytest
|
16 | 13 |
|
17 | 14 | from jose import jws, jwt
|
@@ -514,14 +511,16 @@ def test_unverified_claims_object(self, claims, key):
|
514 | 511 | [
|
515 | 512 | ("aud", "aud"),
|
516 | 513 | ("ait", "ait"),
|
517 |
| - ("exp", utc_now + timedelta(seconds=3600)), |
518 |
| - ("nbf", utc_now - timedelta(seconds=5)), |
| 514 | + ("exp", lambda: datetime.now(UTC) + timedelta(seconds=3600)), |
| 515 | + ("nbf", lambda: datetime.now(UTC) - timedelta(seconds=5)), |
519 | 516 | ("iss", "iss"),
|
520 | 517 | ("sub", "sub"),
|
521 | 518 | ("jti", "jti"),
|
522 | 519 | ],
|
523 | 520 | )
|
524 | 521 | def test_require(self, claims, key, claim, value):
|
| 522 | + if callable(value): |
| 523 | + value = value() |
525 | 524 | options = {"require_" + claim: True, "verify_" + claim: False}
|
526 | 525 |
|
527 | 526 | token = jwt.encode(claims, key)
|
|
0 commit comments