mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-06-28 06:41:43 +00:00
feat: extend result class
This commit is contained in:
@ -228,7 +228,7 @@ def test_remove(application_packages: ApplicationPackages, mocker: MockerFixture
|
||||
"""
|
||||
must remove package
|
||||
"""
|
||||
executor_mock = mocker.patch("ahriman.core.repository.executor.Executor.process_remove")
|
||||
executor_mock = mocker.patch("ahriman.core.repository.executor.Executor.process_remove", return_value=Result())
|
||||
on_result_mock = mocker.patch("ahriman.application.application.application_packages.ApplicationPackages.on_result")
|
||||
|
||||
application_packages.remove([])
|
||||
|
@ -77,7 +77,7 @@ def test_run_with_updates(args: argparse.Namespace, configuration: Configuration
|
||||
args = _default_args(args)
|
||||
args.now = True
|
||||
result = Result()
|
||||
result.add_success(package_ahriman)
|
||||
result.add_updated(package_ahriman)
|
||||
mocker.patch("ahriman.application.application.Application.add")
|
||||
mocker.patch("ahriman.core.repository.Repository.load", return_value=repository)
|
||||
application_mock = mocker.patch("ahriman.application.application.Application.update", return_value=result)
|
||||
|
@ -41,7 +41,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration:
|
||||
"""
|
||||
args = _default_args(args)
|
||||
result = Result()
|
||||
result.add_success(package_ahriman)
|
||||
result.add_updated(package_ahriman)
|
||||
mocker.patch("ahriman.core.repository.Repository.load", return_value=repository)
|
||||
extract_mock = mocker.patch("ahriman.application.handlers.Rebuild.extract_packages", return_value=[package_ahriman])
|
||||
application_packages_mock = mocker.patch("ahriman.core.repository.repository.Repository.packages_depend_on",
|
||||
|
@ -44,7 +44,7 @@ def test_run(args: argparse.Namespace, package_ahriman: Package, configuration:
|
||||
"""
|
||||
args = _default_args(args)
|
||||
result = Result()
|
||||
result.add_success(package_ahriman)
|
||||
result.add_updated(package_ahriman)
|
||||
mocker.patch("ahriman.core.repository.Repository.load", return_value=repository)
|
||||
application_mock = mocker.patch("ahriman.application.application.Application.update", return_value=result)
|
||||
check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
|
||||
|
@ -526,7 +526,7 @@ def result(package_ahriman: Package) -> Result:
|
||||
Result: result test instance
|
||||
"""
|
||||
result = Result()
|
||||
result.add_success(package_ahriman)
|
||||
result.add_updated(package_ahriman)
|
||||
return result
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@ def test_generate(configuration: Configuration, package_ahriman: Package) -> Non
|
||||
name = configuration.getpath("html", "template")
|
||||
_, repository_id = configuration.check_loaded()
|
||||
report = JinjaTemplate(repository_id, configuration, "html")
|
||||
assert report.make_html(Result(success=[package_ahriman]), name)
|
||||
assert report.make_html(Result(updated=[package_ahriman]), name)
|
||||
|
||||
|
||||
def test_generate_from_path(configuration: Configuration, package_ahriman: Package) -> None:
|
||||
@ -21,4 +21,4 @@ def test_generate_from_path(configuration: Configuration, package_ahriman: Packa
|
||||
path = configuration.getpath("html", "templates") / configuration.get("html", "template")
|
||||
_, repository_id = configuration.check_loaded()
|
||||
report = JinjaTemplate(repository_id, configuration, "html")
|
||||
assert report.make_html(Result(success=[package_ahriman]), path)
|
||||
assert report.make_html(Result(updated=[package_ahriman]), path)
|
||||
|
@ -1,6 +1,3 @@
|
||||
import pytest
|
||||
|
||||
from ahriman.core.exceptions import UnprocessedPackageStatusError
|
||||
from ahriman.models.package import Package
|
||||
from ahriman.models.result import Result
|
||||
|
||||
@ -18,7 +15,7 @@ def test_non_empty_success(package_ahriman: Package) -> None:
|
||||
must be non-empty if there is success build
|
||||
"""
|
||||
result = Result()
|
||||
result.add_success(package_ahriman)
|
||||
result.add_updated(package_ahriman)
|
||||
assert not result.is_empty
|
||||
|
||||
|
||||
@ -37,11 +34,22 @@ def test_non_empty_full(package_ahriman: Package) -> None:
|
||||
"""
|
||||
result = Result()
|
||||
result.add_failed(package_ahriman)
|
||||
result.add_success(package_ahriman)
|
||||
result.add_updated(package_ahriman)
|
||||
|
||||
assert not result.is_empty
|
||||
|
||||
|
||||
def test_add_added(package_ahriman: Package) -> None:
|
||||
"""
|
||||
must add package to new packages list
|
||||
"""
|
||||
result = Result()
|
||||
result.add_added(package_ahriman)
|
||||
assert not result.failed
|
||||
assert not result.removed
|
||||
assert result.success == [package_ahriman]
|
||||
|
||||
|
||||
def test_add_failed(package_ahriman: Package) -> None:
|
||||
"""
|
||||
must add package to failed list
|
||||
@ -49,17 +57,30 @@ def test_add_failed(package_ahriman: Package) -> None:
|
||||
result = Result()
|
||||
result.add_failed(package_ahriman)
|
||||
assert result.failed == [package_ahriman]
|
||||
assert not result.removed
|
||||
assert not result.success
|
||||
|
||||
|
||||
def test_add_success(package_ahriman: Package) -> None:
|
||||
def test_add_removed(package_ahriman: Package) -> None:
|
||||
"""
|
||||
must add package to removed list
|
||||
"""
|
||||
result = Result()
|
||||
result.add_removed(package_ahriman)
|
||||
assert not result.failed
|
||||
assert result.removed == [package_ahriman]
|
||||
assert not result.success
|
||||
|
||||
|
||||
def test_add_updated(package_ahriman: Package) -> None:
|
||||
"""
|
||||
must add package to success list
|
||||
"""
|
||||
result = Result()
|
||||
result.add_success(package_ahriman)
|
||||
assert result.success == [package_ahriman]
|
||||
result.add_updated(package_ahriman)
|
||||
assert not result.failed
|
||||
assert not result.removed
|
||||
assert result.success == [package_ahriman]
|
||||
|
||||
|
||||
def test_merge(package_ahriman: Package, package_python_schedule: Package) -> None:
|
||||
@ -67,9 +88,9 @@ def test_merge(package_ahriman: Package, package_python_schedule: Package) -> No
|
||||
must merge success packages
|
||||
"""
|
||||
left = Result()
|
||||
left.add_success(package_ahriman)
|
||||
left.add_updated(package_ahriman)
|
||||
right = Result()
|
||||
right.add_success(package_python_schedule)
|
||||
right.add_updated(package_python_schedule)
|
||||
|
||||
result = left.merge(right)
|
||||
assert result.success == [package_ahriman, package_python_schedule]
|
||||
@ -81,7 +102,7 @@ def test_merge_failed(package_ahriman: Package) -> None:
|
||||
must merge and remove failed packages from success list
|
||||
"""
|
||||
left = Result()
|
||||
left.add_success(package_ahriman)
|
||||
left.add_updated(package_ahriman)
|
||||
right = Result()
|
||||
right.add_failed(package_ahriman)
|
||||
|
||||
@ -90,28 +111,15 @@ def test_merge_failed(package_ahriman: Package) -> None:
|
||||
assert not left.success
|
||||
|
||||
|
||||
def test_merge_exception(package_ahriman: Package) -> None:
|
||||
"""
|
||||
must raise exception in case if package was failed
|
||||
"""
|
||||
left = Result()
|
||||
left.add_failed(package_ahriman)
|
||||
right = Result()
|
||||
right.add_success(package_ahriman)
|
||||
|
||||
with pytest.raises(UnprocessedPackageStatusError):
|
||||
left.merge(right)
|
||||
|
||||
|
||||
def test_eq(package_ahriman: Package, package_python_schedule: Package) -> None:
|
||||
"""
|
||||
must return True for same objects
|
||||
"""
|
||||
left = Result()
|
||||
left.add_success(package_ahriman)
|
||||
left.add_updated(package_ahriman)
|
||||
left.add_failed(package_python_schedule)
|
||||
right = Result()
|
||||
right.add_success(package_ahriman)
|
||||
right.add_updated(package_ahriman)
|
||||
right.add_failed(package_python_schedule)
|
||||
|
||||
assert left == right
|
||||
@ -122,7 +130,7 @@ def test_eq_false(package_ahriman: Package) -> None:
|
||||
must return False in case if lists do not match
|
||||
"""
|
||||
left = Result()
|
||||
left.add_success(package_ahriman)
|
||||
left.add_updated(package_ahriman)
|
||||
right = Result()
|
||||
right.add_failed(package_ahriman)
|
||||
|
||||
@ -144,7 +152,7 @@ def test_eq_false_success(package_ahriman: Package) -> None:
|
||||
must return False in case if success does not match
|
||||
"""
|
||||
left = Result()
|
||||
left.add_success(package_ahriman)
|
||||
left.add_updated(package_ahriman)
|
||||
|
||||
assert left != Result()
|
||||
|
||||
|
Reference in New Issue
Block a user