mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-29 09:47: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 typing import List, Optional
|
||||||
|
|
||||||
from ahriman.core.database.operations import Operations
|
from ahriman.core.database.operations import Operations
|
||||||
|
from ahriman.core.util import pretty_datetime
|
||||||
from ahriman.models.log_record_id import LogRecordId
|
from ahriman.models.log_record_id import LogRecordId
|
||||||
|
|
||||||
|
|
||||||
@ -41,10 +42,10 @@ class LogsOperations(Operations):
|
|||||||
"""
|
"""
|
||||||
def run(connection: Connection) -> List[str]:
|
def run(connection: Connection) -> List[str]:
|
||||||
return [
|
return [
|
||||||
row["record"]
|
f"""[{pretty_datetime(row["created"])}] {row["record"]}"""
|
||||||
for row in connection.execute(
|
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
|
order by created asc
|
||||||
""",
|
""",
|
||||||
{"package_base": package_base})
|
{"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
|
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, 1), 42.0, "message 1")
|
||||||
database.logs_insert(LogRecordId(package_ahriman.base, 2), 0.001, "message 2")
|
database.logs_insert(LogRecordId(package_ahriman.base, 2), 43.0, "message 2")
|
||||||
database.logs_insert(LogRecordId(package_python_schedule.base, 1), 0.002, "message 3")
|
database.logs_insert(LogRecordId(package_python_schedule.base, 1), 42.0, "message 3")
|
||||||
|
|
||||||
database.logs_remove(package_ahriman.base, 1)
|
database.logs_remove(package_ahriman.base, 1)
|
||||||
assert database.logs_get(package_ahriman.base) == "message 1"
|
assert database.logs_get(package_ahriman.base) == "[1970-01-01 00:00:42] message 1"
|
||||||
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_remove_full(database: SQLite, package_ahriman: Package, package_python_schedule: Package) -> None:
|
def test_logs_insert_remove_full(database: SQLite, package_ahriman: Package, package_python_schedule: Package) -> None:
|
||||||
"""
|
"""
|
||||||
must clear full package logs
|
must clear full package logs
|
||||||
"""
|
"""
|
||||||
database.logs_insert(LogRecordId(package_ahriman.base, 1), 0.001, "message 1")
|
database.logs_insert(LogRecordId(package_ahriman.base, 1), 42.0, "message 1")
|
||||||
database.logs_insert(LogRecordId(package_ahriman.base, 2), 0.001, "message 2")
|
database.logs_insert(LogRecordId(package_ahriman.base, 2), 43.0, "message 2")
|
||||||
database.logs_insert(LogRecordId(package_python_schedule.base, 1), 0.002, "message 3")
|
database.logs_insert(LogRecordId(package_python_schedule.base, 1), 42.0, "message 3")
|
||||||
|
|
||||||
database.logs_remove(package_ahriman.base, None)
|
database.logs_remove(package_ahriman.base, None)
|
||||||
assert not database.logs_get(package_ahriman.base)
|
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:
|
def test_logs_insert_get(database: SQLite, package_ahriman: Package) -> None:
|
||||||
"""
|
"""
|
||||||
must insert and get package logs
|
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), 43.0, "message 2")
|
||||||
database.logs_insert(LogRecordId(package_ahriman.base, 1), 0.001, "message 1")
|
database.logs_insert(LogRecordId(package_ahriman.base, 1), 42.0, "message 1")
|
||||||
assert database.logs_get(package_ahriman.base) == "message 1\nmessage 2"
|
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()})
|
json={"status": BuildStatusEnum.Success.value, "package": package_python_schedule.view()})
|
||||||
|
|
||||||
await client.post(f"/api/v1/packages/{package_ahriman.base}/logs",
|
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",
|
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")
|
response = await client.delete(f"/api/v1/packages/{package_ahriman.base}/logs")
|
||||||
assert response.status == 204
|
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}",
|
await client.post(f"/api/v1/packages/{package_ahriman.base}",
|
||||||
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||||
await client.post(f"/api/v1/packages/{package_ahriman.base}/logs",
|
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")
|
response = await client.get(f"/api/v1/packages/{package_ahriman.base}/logs")
|
||||||
assert response.status == 200
|
assert response.status == 200
|
||||||
|
|
||||||
logs = await response.json()
|
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:
|
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()})
|
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||||
|
|
||||||
post_response = await client.post(f"/api/v1/packages/{package_ahriman.base}/logs",
|
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
|
assert post_response.status == 204
|
||||||
|
|
||||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}/logs")
|
response = await client.get(f"/api/v1/packages/{package_ahriman.base}/logs")
|
||||||
logs = await response.json()
|
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:
|
async def test_post_exception(client: TestClient, package_ahriman: Package) -> None:
|
||||||
|
Loading…
Reference in New Issue
Block a user