diff --git a/aiohasupervisor/models/jobs.py b/aiohasupervisor/models/jobs.py index 9d45287..2ef6223 100644 --- a/aiohasupervisor/models/jobs.py +++ b/aiohasupervisor/models/jobs.py @@ -3,6 +3,7 @@ from __future__ import annotations from dataclasses import dataclass +from datetime import datetime # noqa: TCH003 from enum import StrEnum from uuid import UUID # noqa: TCH003 @@ -57,6 +58,7 @@ class Job(ResponseData): stage: str | None done: bool | None errors: list[JobError] + created: datetime child_jobs: list[Job] diff --git a/tests/fixtures/jobs_get_job.json b/tests/fixtures/jobs_get_job.json index 00d6dd9..006b683 100644 --- a/tests/fixtures/jobs_get_job.json +++ b/tests/fixtures/jobs_get_job.json @@ -8,6 +8,7 @@ "stage": "finishing_file", "done": true, "errors": [], + "created": "2025-01-30T20:55:12.859349+00:00", "child_jobs": [ { "name": "backup_store_folders", @@ -17,6 +18,7 @@ "stage": null, "done": true, "errors": [], + "created": "2025-01-30T20:55:12.892008+00:00", "child_jobs": [ { "name": "backup_folder_save", @@ -26,6 +28,7 @@ "stage": null, "done": true, "errors": [], + "created": "2025-01-30T20:55:12.892699+00:00", "child_jobs": [] } ] diff --git a/tests/fixtures/jobs_info.json b/tests/fixtures/jobs_info.json index d126afb..3c6667f 100644 --- a/tests/fixtures/jobs_info.json +++ b/tests/fixtures/jobs_info.json @@ -11,6 +11,7 @@ "stage": "finishing_file", "done": true, "errors": [], + "created": "2025-01-30T20:55:12.859349+00:00", "child_jobs": [ { "name": "backup_store_folders", @@ -20,6 +21,7 @@ "stage": null, "done": true, "errors": [], + "created": "2025-01-30T20:55:12.892008+00:00", "child_jobs": [ { "name": "backup_folder_save", @@ -29,6 +31,7 @@ "stage": null, "done": true, "errors": [], + "created": "2025-01-30T20:55:12.892699+00:00", "child_jobs": [] } ] @@ -48,6 +51,7 @@ "message": "Invalid password for backup cfddca18" } ], + "created": "2025-01-30T20:55:15.000000+00:00", "child_jobs": [] } ] diff --git a/tests/test_jobs.py b/tests/test_jobs.py index 79a02ef..a21b6f2 100644 --- a/tests/test_jobs.py +++ b/tests/test_jobs.py @@ -1,5 +1,6 @@ """Test jobs supervisor client.""" +from datetime import datetime from uuid import UUID from aioresponses import aioresponses @@ -29,6 +30,9 @@ async def test_jobs_info( assert info.jobs[0].stage == "finishing_file" assert info.jobs[0].done is True assert info.jobs[0].errors == [] + assert info.jobs[0].created == datetime.fromisoformat( + "2025-01-30T20:55:12.859349+00:00" + ) assert info.jobs[0].child_jobs[0].name == "backup_store_folders" assert info.jobs[0].child_jobs[0].child_jobs[0].name == "backup_folder_save" assert info.jobs[0].child_jobs[0].child_jobs[0].reference == "ssl" @@ -85,6 +89,7 @@ async def test_jobs_get_job( assert info.stage == "finishing_file" assert info.done is True assert info.errors == [] + assert info.created == datetime.fromisoformat("2025-01-30T20:55:12.859349+00:00") assert info.child_jobs[0].name == "backup_store_folders" assert info.child_jobs[0].child_jobs[0].name == "backup_folder_save" assert info.child_jobs[0].child_jobs[0].reference == "ssl"