add console printer

also add python-requests as explicit dependency and escape symbols in
repository name for badges in default tempate
This commit is contained in:
2022-03-19 23:48:43 +03:00
parent 060c7412b1
commit a7c6d95b34
59 changed files with 631 additions and 187 deletions

View File

@ -21,3 +21,6 @@ def test_from_option_valid() -> None:
assert ReportSettings.from_option("email") == ReportSettings.Email
assert ReportSettings.from_option("EmAil") == ReportSettings.Email
assert ReportSettings.from_option("console") == ReportSettings.Console
assert ReportSettings.from_option("conSOle") == ReportSettings.Console

View File

@ -0,0 +1,119 @@
import pytest
from ahriman.core.exceptions import SuccessFailed
from ahriman.models.package import Package
from ahriman.models.result import Result
def test_add_failed(package_ahriman: Package) -> None:
"""
must add package to failed list
"""
result = Result()
result.add_failed(package_ahriman)
assert result.failed == [package_ahriman]
assert not result.success
def test_add_success(package_ahriman: Package) -> None:
"""
must add package to success list
"""
result = Result()
result.add_success(package_ahriman)
assert result.success == [package_ahriman]
assert not result.failed
def test_merge(package_ahriman: Package, package_python_schedule: Package) -> None:
"""
must merge success packages
"""
left = Result()
left.add_success(package_ahriman)
right = Result()
right.add_success(package_python_schedule)
result = left.merge(right)
assert result.success == [package_ahriman, package_python_schedule]
assert not left.failed
def test_merge_failed(package_ahriman: Package) -> None:
"""
must merge and remove failed packages from success list
"""
left = Result()
left.add_success(package_ahriman)
right = Result()
right.add_failed(package_ahriman)
result = left.merge(right)
assert result.failed == [package_ahriman]
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(SuccessFailed):
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_failed(package_python_schedule)
right = Result()
right.add_success(package_ahriman)
right.add_failed(package_python_schedule)
assert left == right
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)
right = Result()
right.add_failed(package_ahriman)
assert left != right
def test_eq_false_failed(package_ahriman: Package) -> None:
"""
must return False in case if failed does not match
"""
left = Result()
left.add_failed(package_ahriman)
assert left != Result()
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)
assert left != Result()
def test_eq_other() -> None:
"""
must return False in case if object is not an instance of result
"""
assert Result() != 42