diff --git a/src/ahriman/core/database/operations/logs_operations.py b/src/ahriman/core/database/operations/logs_operations.py index f6e61cf3..e3681164 100644 --- a/src/ahriman/core/database/operations/logs_operations.py +++ b/src/ahriman/core/database/operations/logs_operations.py @@ -21,6 +21,7 @@ from sqlite3 import Connection from typing import List, Optional from ahriman.core.database.operations import Operations +from ahriman.core.util import pretty_datetime from ahriman.models.log_record_id import LogRecordId @@ -41,10 +42,10 @@ class LogsOperations(Operations): """ def run(connection: Connection) -> List[str]: return [ - row["record"] + f"""[{pretty_datetime(row["created"])}] {row["record"]}""" for row in connection.execute( """ - select record from logs where package_base = :package_base + select created, record from logs where package_base = :package_base order by created asc """, {"package_base": package_base}) diff --git a/tests/ahriman/core/database/operations/test_logs_operations.py b/tests/ahriman/core/database/operations/test_logs_operations.py index 2168d25f..4a609196 100644 --- a/tests/ahriman/core/database/operations/test_logs_operations.py +++ b/tests/ahriman/core/database/operations/test_logs_operations.py @@ -8,32 +8,32 @@ def test_logs_insert_remove_process(database: SQLite, package_ahriman: Package, """ must clear process specific package logs """ - database.logs_insert(LogRecordId(package_ahriman.base, 1), 0.001, "message 1") - database.logs_insert(LogRecordId(package_ahriman.base, 2), 0.001, "message 2") - database.logs_insert(LogRecordId(package_python_schedule.base, 1), 0.002, "message 3") + database.logs_insert(LogRecordId(package_ahriman.base, 1), 42.0, "message 1") + database.logs_insert(LogRecordId(package_ahriman.base, 2), 43.0, "message 2") + database.logs_insert(LogRecordId(package_python_schedule.base, 1), 42.0, "message 3") database.logs_remove(package_ahriman.base, 1) - assert database.logs_get(package_ahriman.base) == "message 1" - assert database.logs_get(package_python_schedule.base) == "message 3" + assert database.logs_get(package_ahriman.base) == "[1970-01-01 00:00:42] message 1" + assert database.logs_get(package_python_schedule.base) == "[1970-01-01 00:00:42] message 3" def test_logs_insert_remove_full(database: SQLite, package_ahriman: Package, package_python_schedule: Package) -> None: """ must clear full package logs """ - database.logs_insert(LogRecordId(package_ahriman.base, 1), 0.001, "message 1") - database.logs_insert(LogRecordId(package_ahriman.base, 2), 0.001, "message 2") - database.logs_insert(LogRecordId(package_python_schedule.base, 1), 0.002, "message 3") + database.logs_insert(LogRecordId(package_ahriman.base, 1), 42.0, "message 1") + database.logs_insert(LogRecordId(package_ahriman.base, 2), 43.0, "message 2") + database.logs_insert(LogRecordId(package_python_schedule.base, 1), 42.0, "message 3") database.logs_remove(package_ahriman.base, None) assert not database.logs_get(package_ahriman.base) - assert database.logs_get(package_python_schedule.base) == "message 3" + assert database.logs_get(package_python_schedule.base) == "[1970-01-01 00:00:42] message 3" def test_logs_insert_get(database: SQLite, package_ahriman: Package) -> None: """ must insert and get package logs """ - database.logs_insert(LogRecordId(package_ahriman.base, 1), 0.002, "message 2") - database.logs_insert(LogRecordId(package_ahriman.base, 1), 0.001, "message 1") - assert database.logs_get(package_ahriman.base) == "message 1\nmessage 2" + database.logs_insert(LogRecordId(package_ahriman.base, 1), 43.0, "message 2") + database.logs_insert(LogRecordId(package_ahriman.base, 1), 42.0, "message 1") + assert database.logs_get(package_ahriman.base) == "[1970-01-01 00:00:42] message 1\n[1970-01-01 00:00:43] message 2" diff --git a/tests/ahriman/web/views/status/test_views_status_logs.py b/tests/ahriman/web/views/status/test_views_status_logs.py index 4e6d53ec..d5517983 100644 --- a/tests/ahriman/web/views/status/test_views_status_logs.py +++ b/tests/ahriman/web/views/status/test_views_status_logs.py @@ -30,9 +30,9 @@ async def test_delete(client: TestClient, package_ahriman: Package, package_pyth json={"status": BuildStatusEnum.Success.value, "package": package_python_schedule.view()}) await client.post(f"/api/v1/packages/{package_ahriman.base}/logs", - json={"created": 0.001, "message": "message", "process_id": 42}) + json={"created": 42.0, "message": "message", "process_id": 42}) await client.post(f"/api/v1/packages/{package_python_schedule.base}/logs", - json={"created": 0.001, "message": "message", "process_id": 42}) + json={"created": 42.0, "message": "message", "process_id": 42}) response = await client.delete(f"/api/v1/packages/{package_ahriman.base}/logs") assert response.status == 204 @@ -53,13 +53,13 @@ async def test_get(client: TestClient, package_ahriman: Package) -> None: await client.post(f"/api/v1/packages/{package_ahriman.base}", json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()}) await client.post(f"/api/v1/packages/{package_ahriman.base}/logs", - json={"created": 0.001, "message": "message", "process_id": 42}) + json={"created": 42.0, "message": "message", "process_id": 42}) response = await client.get(f"/api/v1/packages/{package_ahriman.base}/logs") assert response.status == 200 logs = await response.json() - assert logs["logs"] == "message" + assert logs["logs"] == "[1970-01-01 00:00:42] message" async def test_get_not_foud(client: TestClient, package_ahriman: Package) -> None: @@ -78,12 +78,12 @@ async def test_post(client: TestClient, package_ahriman: Package) -> None: json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()}) post_response = await client.post(f"/api/v1/packages/{package_ahriman.base}/logs", - json={"created": 0.001, "message": "message", "process_id": 42}) + json={"created": 42.0, "message": "message", "process_id": 42}) assert post_response.status == 204 response = await client.get(f"/api/v1/packages/{package_ahriman.base}/logs") logs = await response.json() - assert logs["logs"] == "message" + assert logs["logs"] == "[1970-01-01 00:00:42] message" async def test_post_exception(client: TestClient, package_ahriman: Package) -> None: