mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-29 01:37:17 +00:00
add timestamp to log records
This commit is contained in:
parent
718ff8dd50
commit
88535c2827
@ -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})
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user