@@ -357,7 +357,7 @@ async def test_control_state_with_run_evidence(client, db_session, sample_source
357357 monkeypatch .delenv ("ODP_DATABASE_URL" , raising = False )
358358 monkeypatch .delenv ("ODP_INGEST_URL" , raising = False )
359359
360- from datetime import datetime
360+ from datetime import UTC , datetime
361361
362362 from backend .models .task import CollectionTask , TaskRun , TaskRunEvent
363363
@@ -371,7 +371,7 @@ async def test_control_state_with_run_evidence(client, db_session, sample_source
371371 run = TaskRun (
372372 task_id = task .id ,
373373 status = "completed" ,
374- finished_at = datetime (2026 , 7 , 2 , tzinfo = datetime . UTC ),
374+ finished_at = datetime (2026 , 7 , 2 , tzinfo = UTC ),
375375 duration_ms = 1000 ,
376376 records_collected = 9 ,
377377 )
@@ -427,7 +427,7 @@ async def test_control_state_degraded_when_errors(
427427 monkeypatch .delenv ("ODP_DATABASE_URL" , raising = False )
428428 monkeypatch .delenv ("ODP_INGEST_URL" , raising = False )
429429
430- from datetime import datetime
430+ from datetime import UTC , datetime
431431
432432 from backend .models .task import CollectionTask , TaskRun , TaskRunEvent
433433
@@ -441,7 +441,7 @@ async def test_control_state_degraded_when_errors(
441441 run = TaskRun (
442442 task_id = task .id ,
443443 status = "completed" ,
444- finished_at = datetime (2026 , 7 , 2 , tzinfo = datetime . UTC ),
444+ finished_at = datetime (2026 , 7 , 2 , tzinfo = UTC ),
445445 duration_ms = 1000 ,
446446 records_collected = 1 ,
447447 )
@@ -485,7 +485,7 @@ async def test_control_state_trend_fallback_for_pre_measurement_source(
485485 monkeypatch .delenv ("ODP_DATABASE_URL" , raising = False )
486486 monkeypatch .delenv ("ODP_INGEST_URL" , raising = False )
487487
488- from datetime import datetime
488+ from datetime import UTC , datetime
489489
490490 from backend .models .task import CollectionTask , TaskRun , TaskRunEvent
491491
@@ -501,8 +501,8 @@ async def test_control_state_trend_fallback_for_pre_measurement_source(
501501 run = TaskRun (
502502 task_id = task .id ,
503503 status = "completed" ,
504- created_at = datetime (2026 , 7 , day , tzinfo = datetime . UTC ),
505- finished_at = datetime (2026 , 7 , day , tzinfo = datetime . UTC ),
504+ created_at = datetime (2026 , 7 , day , tzinfo = UTC ),
505+ finished_at = datetime (2026 , 7 , day , tzinfo = UTC ),
506506 duration_ms = 1000 ,
507507 records_collected = stored ,
508508 )
@@ -546,14 +546,14 @@ async def test_control_state_trend_fallback_for_pre_measurement_source(
546546
547547
548548async def _seed_measurement_row (session , source_id : str , ** overrides ):
549- from datetime import datetime
549+ from datetime import UTC , datetime
550550
551551 from backend .models .source_measurement import SourceMeasurement as SourceMeasurementRow
552552
553553 kwargs = dict (
554554 source_id = source_id ,
555555 run_id = "row-run-1" ,
556- measured_at = datetime (2026 , 7 , 2 , tzinfo = datetime . UTC ),
556+ measured_at = datetime (2026 , 7 , 2 , tzinfo = UTC ),
557557 accepted = 5 ,
558558 duplicates = 0 ,
559559 rejected = 0 ,
@@ -930,14 +930,14 @@ async def test_control_state_classification_flips_with_objective_override(
930930 create_resp = await client .post ("/api/v1/sources" , json = sample_source_data )
931931 source_id = create_resp .json ()["data" ]["id" ]
932932
933- from datetime import datetime
933+ from datetime import UTC , datetime
934934
935935 from backend .models .source_measurement import SourceMeasurement as SourceMeasurementRow
936936
937937 row = SourceMeasurementRow (
938938 source_id = source_id ,
939939 run_id = "row-run-1" ,
940- measured_at = datetime (2026 , 7 , 2 , tzinfo = datetime . UTC ),
940+ measured_at = datetime (2026 , 7 , 2 , tzinfo = UTC ),
941941 accepted = 97 ,
942942 duplicates = 0 ,
943943 rejected = 3 ,
0 commit comments