mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-07-16 15:29:56 +00:00
replace tuple with model
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
from ahriman.core.database import SQLite
|
||||
from ahriman.models.log_record import LogRecord
|
||||
from ahriman.models.log_record_id import LogRecordId
|
||||
from ahriman.models.package import Package
|
||||
from ahriman.models.repository_id import RepositoryId
|
||||
@ -9,16 +10,16 @@ def test_logs_insert_remove_version(database: SQLite, package_ahriman: Package,
|
||||
"""
|
||||
must clear version specific package logs
|
||||
"""
|
||||
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_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "2"), 43.0, "message 2"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_python_schedule.base, "1"), 42.0, "message 3"))
|
||||
|
||||
database.logs_remove(package_ahriman.base, "1")
|
||||
assert database.logs_get(package_ahriman.base) == [
|
||||
(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
]
|
||||
assert database.logs_get(package_python_schedule.base) == [
|
||||
(LogRecordId(package_python_schedule.base, "1"), 42.0, "message 3"),
|
||||
LogRecord(LogRecordId(package_python_schedule.base, "1"), 42.0, "message 3"),
|
||||
]
|
||||
|
||||
|
||||
@ -26,27 +27,29 @@ def test_logs_insert_remove_multi(database: SQLite, package_ahriman: Package) ->
|
||||
"""
|
||||
must clear logs for specified repository
|
||||
"""
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2",
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"),
|
||||
RepositoryId("i686", database._repository_id.name))
|
||||
|
||||
database.logs_remove(package_ahriman.base, None, RepositoryId("i686", database._repository_id.name))
|
||||
assert not database.logs_get(package_ahriman.base, repository_id=RepositoryId("i686", database._repository_id.name))
|
||||
assert database.logs_get(package_ahriman.base) == [(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1")]
|
||||
assert database.logs_get(package_ahriman.base) == [
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
]
|
||||
|
||||
|
||||
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"), 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_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "2"), 43.0, "message 2"))
|
||||
database.logs_insert(LogRecord(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) == [
|
||||
(LogRecordId(package_python_schedule.base, "1"), 42.0, "message 3"),
|
||||
LogRecord(LogRecordId(package_python_schedule.base, "1"), 42.0, "message 3"),
|
||||
]
|
||||
|
||||
|
||||
@ -54,11 +57,11 @@ 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"), 43.0, "message 2")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1")
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
assert database.logs_get(package_ahriman.base) == [
|
||||
(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"),
|
||||
]
|
||||
|
||||
|
||||
@ -66,10 +69,10 @@ def test_logs_insert_get_pagination(database: SQLite, package_ahriman: Package)
|
||||
"""
|
||||
must insert and get package logs with pagination
|
||||
"""
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2")
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"))
|
||||
assert database.logs_get(package_ahriman.base, 1, 1) == [
|
||||
(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
]
|
||||
|
||||
|
||||
@ -77,16 +80,16 @@ def test_logs_insert_get_multi(database: SQLite, package_ahriman: Package) -> No
|
||||
"""
|
||||
must insert and get package logs for multiple repositories
|
||||
"""
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2",
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"),
|
||||
RepositoryId("i686", database._repository_id.name))
|
||||
|
||||
assert database.logs_get(package_ahriman.base,
|
||||
repository_id=RepositoryId("i686", database._repository_id.name)) == [
|
||||
(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"),
|
||||
]
|
||||
assert database.logs_get(package_ahriman.base) == [
|
||||
(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"),
|
||||
]
|
||||
|
||||
|
||||
@ -94,9 +97,9 @@ def test_logs_rotate_remove_all(database: SQLite, package_ahriman: Package) -> N
|
||||
"""
|
||||
must remove all records when rotating with keep_last_records is 0
|
||||
"""
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "2"), 44.0, "message 3")
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1"), 43.0, "message 2"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "2"), 44.0, "message 3"))
|
||||
|
||||
database.logs_rotate(0)
|
||||
assert not database.logs_get(package_ahriman.base)
|
||||
@ -106,16 +109,16 @@ def test_logs_rotate_remove_duplicates(database: SQLite, package_ahriman: Packag
|
||||
"""
|
||||
must remove duplicate records while preserving the most recent one for each package version
|
||||
"""
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1", "p1"), 42.0, "message 1")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1", "p2"), 43.0, "message 2")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "1", "p3"), 44.0, "message 3")
|
||||
database.logs_insert(LogRecordId(package_ahriman.base, "2", "p1"), 45.0, "message 4")
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1", "p1"), 42.0, "message 1"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1", "p2"), 43.0, "message 2"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "1", "p3"), 44.0, "message 3"))
|
||||
database.logs_insert(LogRecord(LogRecordId(package_ahriman.base, "2", "p1"), 45.0, "message 4"))
|
||||
|
||||
database.logs_rotate(2)
|
||||
|
||||
logs = database.logs_get(package_ahriman.base)
|
||||
assert len(logs) == 2
|
||||
assert logs == [
|
||||
(LogRecordId(package_ahriman.base, "1", "p3"), 44.0, "message 3"),
|
||||
(LogRecordId(package_ahriman.base, "2", "p1"), 45.0, "message 4"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "1", "p3"), 44.0, "message 3"),
|
||||
LogRecord(LogRecordId(package_ahriman.base, "2", "p1"), 45.0, "message 4"),
|
||||
]
|
||||
|
@ -4,6 +4,7 @@ from pytest_mock import MockerFixture
|
||||
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.log.http_log_handler import HttpLogHandler
|
||||
from ahriman.models.log_record import LogRecord
|
||||
from ahriman.models.log_record_id import LogRecordId
|
||||
from ahriman.models.package import Package
|
||||
|
||||
@ -51,7 +52,7 @@ def test_emit(configuration: Configuration, log_record: logging.LogRecord, packa
|
||||
handler = HttpLogHandler(repository_id, configuration, report=False, suppress_errors=False)
|
||||
|
||||
handler.emit(log_record)
|
||||
log_mock.assert_called_once_with(log_record_id, log_record.created, log_record.getMessage())
|
||||
log_mock.assert_called_once_with(LogRecord(log_record_id, log_record.created, log_record.getMessage()))
|
||||
|
||||
|
||||
def test_emit_failed(configuration: Configuration, log_record: logging.LogRecord, package_ahriman: Package,
|
||||
|
@ -13,6 +13,7 @@ from ahriman.models.changes import Changes
|
||||
from ahriman.models.dependencies import Dependencies
|
||||
from ahriman.models.event import Event
|
||||
from ahriman.models.internal_status import InternalStatus
|
||||
from ahriman.models.log_record import LogRecord
|
||||
from ahriman.models.log_record_id import LogRecordId
|
||||
from ahriman.models.package import Package
|
||||
from ahriman.models.pkgbuild_patch import PkgbuildPatch
|
||||
@ -112,7 +113,7 @@ def test_event_get(client: Client) -> None:
|
||||
client.event_get(None, None)
|
||||
|
||||
|
||||
def test_logs_rotate(client: Client, package_ahriman: Package) -> None:
|
||||
def test_logs_rotate(client: Client) -> None:
|
||||
"""
|
||||
must do not raise exception on logs rotation call
|
||||
"""
|
||||
@ -164,7 +165,7 @@ def test_package_logs_add(client: Client, package_ahriman: Package, log_record:
|
||||
must process log record addition without exception
|
||||
"""
|
||||
log_record_id = LogRecordId(package_ahriman.base, package_ahriman.version)
|
||||
client.package_logs_add(log_record_id, log_record.created, log_record.getMessage())
|
||||
client.package_logs_add(LogRecord(log_record_id, log_record.created, log_record.getMessage()))
|
||||
|
||||
|
||||
def test_package_logs_get(client: Client, package_ahriman: Package) -> None:
|
||||
|
@ -8,6 +8,7 @@ from ahriman.models.build_status import BuildStatus, BuildStatusEnum
|
||||
from ahriman.models.changes import Changes
|
||||
from ahriman.models.dependencies import Dependencies
|
||||
from ahriman.models.event import Event, EventType
|
||||
from ahriman.models.log_record import LogRecord
|
||||
from ahriman.models.log_record_id import LogRecordId
|
||||
from ahriman.models.package import Package
|
||||
from ahriman.models.pkgbuild_patch import PkgbuildPatch
|
||||
@ -112,10 +113,10 @@ def test_package_logs_add(local_client: LocalClient, package_ahriman: Package, l
|
||||
"""
|
||||
logs_mock = mocker.patch("ahriman.core.database.SQLite.logs_insert")
|
||||
log_record_id = LogRecordId(package_ahriman.base, package_ahriman.version)
|
||||
record = LogRecord(log_record_id, log_record.created, log_record.getMessage())
|
||||
|
||||
local_client.package_logs_add(log_record_id, log_record.created, log_record.getMessage())
|
||||
logs_mock.assert_called_once_with(log_record_id, log_record.created, log_record.getMessage(),
|
||||
local_client.repository_id)
|
||||
local_client.package_logs_add(record)
|
||||
logs_mock.assert_called_once_with(record, local_client.repository_id)
|
||||
|
||||
|
||||
def test_package_logs_get(local_client: LocalClient, package_ahriman: Package, mocker: MockerFixture) -> None:
|
||||
|
@ -12,6 +12,7 @@ from ahriman.models.changes import Changes
|
||||
from ahriman.models.dependencies import Dependencies
|
||||
from ahriman.models.event import Event, EventType
|
||||
from ahriman.models.internal_status import InternalStatus
|
||||
from ahriman.models.log_record import LogRecord
|
||||
from ahriman.models.log_record_id import LogRecordId
|
||||
from ahriman.models.package import Package
|
||||
from ahriman.models.pkgbuild_patch import PkgbuildPatch
|
||||
@ -605,9 +606,10 @@ def test_package_logs_add(web_client: WebClient, log_record: logging.LogRecord,
|
||||
"process_id": LogRecordId.process_id,
|
||||
"version": package_ahriman.version,
|
||||
}
|
||||
record = LogRecord(LogRecordId(package_ahriman.base, package_ahriman.version),
|
||||
log_record.created, log_record.getMessage())
|
||||
|
||||
web_client.package_logs_add(LogRecordId(package_ahriman.base, package_ahriman.version),
|
||||
log_record.created, log_record.getMessage())
|
||||
web_client.package_logs_add(record)
|
||||
requests_mock.assert_called_once_with("POST", pytest.helpers.anyvar(str, True),
|
||||
params=web_client.repository_id.query(), json=payload, suppress_errors=True)
|
||||
|
||||
@ -619,9 +621,11 @@ def test_package_logs_add_failed(web_client: WebClient, log_record: logging.LogR
|
||||
"""
|
||||
mocker.patch("requests.Session.request", side_effect=Exception())
|
||||
log_record.package_base = package_ahriman.base
|
||||
record = LogRecord(LogRecordId(package_ahriman.base, package_ahriman.version),
|
||||
log_record.created, log_record.getMessage())
|
||||
|
||||
with pytest.raises(Exception):
|
||||
web_client.package_logs_add(LogRecordId(package_ahriman.base, package_ahriman.version),
|
||||
log_record.created, log_record.getMessage())
|
||||
web_client.package_logs_add(record)
|
||||
|
||||
|
||||
def test_package_logs_add_failed_http_error(web_client: WebClient, log_record: logging.LogRecord,
|
||||
@ -631,9 +635,11 @@ def test_package_logs_add_failed_http_error(web_client: WebClient, log_record: l
|
||||
"""
|
||||
mocker.patch("requests.Session.request", side_effect=requests.HTTPError())
|
||||
log_record.package_base = package_ahriman.base
|
||||
record = LogRecord(LogRecordId(package_ahriman.base, package_ahriman.version),
|
||||
log_record.created, log_record.getMessage())
|
||||
|
||||
with pytest.raises(Exception):
|
||||
web_client.package_logs_add(LogRecordId(package_ahriman.base, package_ahriman.version),
|
||||
log_record.created, log_record.getMessage())
|
||||
web_client.package_logs_add(record)
|
||||
|
||||
|
||||
def test_package_logs_get(web_client: WebClient, package_ahriman: Package, mocker: MockerFixture) -> None:
|
||||
@ -656,7 +662,7 @@ def test_package_logs_get(web_client: WebClient, package_ahriman: Package, mocke
|
||||
requests_mock.assert_called_once_with("GET", pytest.helpers.anyvar(str, True),
|
||||
params=web_client.repository_id.query() + [("limit", "1"), ("offset", "2")])
|
||||
assert result == [
|
||||
(LogRecordId(package_ahriman.base, package_ahriman.version), message["created"], message["message"]),
|
||||
LogRecord(LogRecordId(package_ahriman.base, package_ahriman.version), message["created"], message["message"]),
|
||||
]
|
||||
|
||||
|
||||
|
0
tests/ahriman/models/test_log_record.py
Normal file
0
tests/ahriman/models/test_log_record.py
Normal file
Reference in New Issue
Block a user