File tree Expand file tree Collapse file tree 6 files changed +23
-19
lines changed
test_routes/test_authentication Expand file tree Collapse file tree 6 files changed +23
-19
lines changed Original file line number Diff line number Diff line change @@ -12,12 +12,12 @@ def setup_logging():
1212 logger .setLevel (logging .DEBUG )
1313
1414 # Create a file handler that rotates logs daily
15- timestamp = datetime .datetime .now ().strftime ("%Y-%m-%d" )
15+ current_time = datetime .datetime .now ().strftime ("%Y-%m-%d" )
1616
1717 # Create a directory for logs if it doesn't exist
1818 if not os .path .exists (LOGS_DIRECTORY ):
1919 os .makedirs (LOGS_DIRECTORY )
20- log_filename = f"{ LOGS_DIRECTORY } /{ timestamp } .log"
20+ log_filename = f"{ LOGS_DIRECTORY } /{ current_time } .log"
2121
2222 # Set up timed rotating file handler
2323 file_handler = TimedRotatingFileHandler (
Original file line number Diff line number Diff line change @@ -30,10 +30,11 @@ def generate_refresh_token(person_id: int) -> str:
3030 kid = get_active_kid ()
3131 private_key = load_private_key (kid )
3232
33+ current_time = datetime .now (timezone .utc )
3334 payload = {
3435 "person_id" : person_id ,
35- "exp" : datetime . now ( timezone . utc ) + JWT_REFRESH_TOKEN_EXPIRY , # Expiration
36- "iat" : datetime . now ( timezone . utc ) , # Issued at
36+ "exp" : current_time + JWT_REFRESH_TOKEN_EXPIRY , # Expiration
37+ "iat" : current_time , # Issued at
3738 "token_type" : "refresh" ,
3839 }
3940 headers = {"kid" : kid }
Original file line number Diff line number Diff line change @@ -34,20 +34,22 @@ def public_key(active_kid):
3434
3535@pytest .fixture
3636def sample_payload (sample_person_id ):
37+ current_time = datetime .now (timezone .utc )
3738 return {
3839 "person_id" : sample_person_id ,
39- "exp" : datetime . now ( timezone . utc ) + timedelta (minutes = 10 ),
40- "iat" : datetime . now ( timezone . utc ) ,
40+ "exp" : current_time + timedelta (minutes = 10 ),
41+ "iat" : current_time ,
4142 "token_type" : "access" ,
4243 }
4344
4445
4546def test_hs256_forged_token_rejected (sample_person_id , public_key , active_kid ):
4647 headers = {"kid" : active_kid , "alg" : "HS256" }
48+ current_time = datetime .now (timezone .utc )
4749 payload = {
4850 "person_id" : sample_person_id ,
49- "exp" : datetime . now ( timezone . utc ) + timedelta (minutes = 10 ),
50- "iat" : datetime . now ( timezone . utc ) ,
51+ "exp" : current_time + timedelta (minutes = 10 ),
52+ "iat" : current_time ,
5153 "token_type" : "access" ,
5254 }
5355
Original file line number Diff line number Diff line change @@ -38,12 +38,13 @@ def test_verify_token_invalid_type(sample_person_id):
3838 private_key = load_private_key (kid )
3939
4040 # Create a token with token_type = "invalid"
41+ current_time = datetime .now (timezone .utc )
4142 token = jwt .encode (
4243 {
4344 "person_id" : sample_person_id ,
4445 "token_type" : "invalid" ,
45- "exp" : datetime . now ( timezone . utc ) + timedelta (minutes = 5 ),
46- "iat" : datetime . now ( timezone . utc ) ,
46+ "exp" : current_time + timedelta (minutes = 5 ),
47+ "iat" : current_time ,
4748 },
4849 private_key ,
4950 algorithm = "RS256" ,
@@ -60,12 +61,13 @@ def test_verify_expired_token(sample_person_id):
6061 kid = get_active_kid ()
6162 private_key = load_private_key (kid )
6263
64+ current_time = datetime .now (timezone .utc )
6365 expired_token = jwt .encode (
6466 {
6567 "person_id" : sample_person_id ,
6668 "token_type" : "access" ,
67- "exp" : datetime . now ( timezone . utc ) - timedelta (seconds = 1 ),
68- "iat" : datetime . now ( timezone . utc ) - timedelta (hours = 1 ),
69+ "exp" : current_time - timedelta (seconds = 1 ),
70+ "iat" : current_time - timedelta (hours = 1 ),
6971 },
7072 private_key ,
7173 algorithm = "RS256" ,
Original file line number Diff line number Diff line change 1- import datetime
1+ from datetime import datetime , timedelta , timezone
22
33import jwt
44import pytest
@@ -20,12 +20,11 @@ def sample_expired_token(sample_person_id) -> str:
2020 kid = get_active_kid ()
2121 private_key = load_private_key (kid )
2222
23+ current_time = datetime .now (timezone .utc )
2324 payload = {
2425 "person_id" : sample_person_id ,
25- "exp" : datetime .datetime .now (datetime .timezone .utc )
26- - datetime .timedelta (seconds = 1 ), # Already expired
27- "iat" : datetime .datetime .now (datetime .timezone .utc )
28- - datetime .timedelta (hours = 1 ),
26+ "exp" : current_time - timedelta (seconds = 1 ), # Already expired
27+ "iat" : current_time - timedelta (hours = 1 ),
2928 "token_type" : "refresh" ,
3029 }
3130
Original file line number Diff line number Diff line change 1313
1414
1515def cleanup_old_keys ():
16- now = datetime .now (timezone .utc )
16+ current_time = datetime .now (timezone .utc )
1717 active_kid = get_active_kid ()
1818
1919 for kid_dir in KEYS_DIR .iterdir ():
@@ -28,7 +28,7 @@ def cleanup_old_keys():
2828 with open (created_at_file , "r" ) as f :
2929 created_at = datetime .fromisoformat (f .read ().strip ())
3030
31- if (now - created_at ) > timedelta (days = EXPIRY_DAYS ):
31+ if (current_time - created_at ) > timedelta (days = EXPIRY_DAYS ):
3232 print (f"Deleting expired key: { kid_dir .name } " )
3333 for item in kid_dir .iterdir ():
3434 item .unlink ()
You can’t perform that action at this time.
0 commit comments