1
1
"""Unit tests for the iRail API wrapper."""
2
2
3
- from datetime import datetime , timedelta
3
+ from datetime import datetime , timedelta , timezone
4
4
from unittest .mock import AsyncMock , patch
5
5
6
6
from aiohttp import ClientSession
@@ -331,21 +331,21 @@ async def test_error_handling():
331
331
332
332
333
333
@pytest .mark .asyncio
334
- @pytest .mark .skip (reason = "Timezone is different on different systems" )
335
334
async def test_timestamp_to_datetime ():
336
335
"""Test the timestamp_to_datetime function."""
337
336
# Test valid timestamps
338
- assert _timestamp_to_datetime ("1705593600" ) == datetime (2024 , 1 , 18 , 17 , 0 ) # 2024-01-18 16:00:00
339
- assert _timestamp_to_datetime ("0" ) == datetime (1970 , 1 , 1 , 1 , 0 ) # Unix epoch
337
+ assert _timestamp_to_datetime ("1705593600" ) == datetime (
338
+ 2024 , 1 , 18 , 16 , 0 , tzinfo = timezone .utc
339
+ ) # 2024-01-18 16:00:00
340
+ assert _timestamp_to_datetime ("0" ) == datetime (1970 , 1 , 1 , 0 , 0 , tzinfo = timezone .utc ) # Unix epoch
340
341
341
342
342
343
@pytest .mark .asyncio
343
- @pytest .mark .skip (reason = "Timezone is different on different systems" )
344
344
async def test_timestamp_field_deserialization ():
345
345
"""Test timestamp field deserialization in various models."""
346
346
# Test ApiResponse timestamp
347
347
api_response = ApiResponse .from_dict ({"version" : "1.0" , "timestamp" : "1705593600" })
348
- assert api_response .timestamp == datetime (2024 , 1 , 18 , 17 , 0 )
348
+ assert api_response .timestamp == datetime (2024 , 1 , 18 , 16 , 0 , tzinfo = timezone . utc )
349
349
350
350
# Test LiveboardDeparture time
351
351
departure = LiveboardDeparture .from_dict (
@@ -381,7 +381,7 @@ async def test_timestamp_field_deserialization():
381
381
"departureConnection" : "http://irail.be/connections/8821006/20250106/EC9272" ,
382
382
}
383
383
)
384
- assert departure .time == datetime (2024 , 1 , 18 , 17 , 0 )
384
+ assert departure .time == datetime (2024 , 1 , 18 , 16 , 0 , tzinfo = timezone . utc )
385
385
386
386
# Test Alert start_time and end_time
387
387
alert = Alert .from_dict (
@@ -394,8 +394,8 @@ async def test_timestamp_field_deserialization():
394
394
"endTime" : "1705597200" ,
395
395
}
396
396
)
397
- assert alert .start_time == datetime (2024 , 1 , 18 , 17 , 0 )
398
- assert alert .end_time == datetime (2024 , 1 , 18 , 18 , 0 )
397
+ assert alert .start_time == datetime (2024 , 1 , 18 , 16 , 0 , tzinfo = timezone . utc )
398
+ assert alert .end_time == datetime (2024 , 1 , 18 , 17 , 0 , tzinfo = timezone . utc )
399
399
400
400
# Test Disturbance timestamp
401
401
disturbance = Disturbance .from_dict (
@@ -434,7 +434,7 @@ async def test_timestamp_field_deserialization():
434
434
},
435
435
}
436
436
)
437
- assert disturbance .timestamp == datetime (2024 , 1 , 18 , 17 , 0 )
437
+ assert disturbance .timestamp == datetime (2024 , 1 , 18 , 16 , 0 , tzinfo = timezone . utc )
438
438
439
439
440
440
@pytest .mark .asyncio
0 commit comments