feat: add __call__ method to printers

This commit is contained in:
2023-10-01 15:14:18 +03:00
parent 1859d14f78
commit 57c8ed3557
28 changed files with 91 additions and 39 deletions

View File

@ -159,7 +159,7 @@ def test_patch_set_list(application: Application, mocker: MockerFixture) -> None
Patch.patch_set_list(application, "ahriman", ["version"], False)
get_mock.assert_called_once_with("ahriman", ["version"])
print_mock.assert_called_once_with(verbose=True, separator=" = ")
print_mock.assert_called_once_with(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=" = ")
check_mock.assert_called_once_with(False, False)

View File

@ -1,4 +1,5 @@
import argparse
import pytest
from pytest_mock import MockerFixture
@ -58,4 +59,4 @@ def test_run_dry_run(args: argparse.Namespace, configuration: Configuration, rep
RemoveUnknown.run(args, repository_id, configuration, report=False)
application_mock.assert_called_once_with()
remove_mock.assert_not_called()
print_mock.assert_called_once_with(verbose=False)
print_mock.assert_called_once_with(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": ")

View File

@ -47,7 +47,10 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository:
aur_search_mock.assert_called_once_with("ahriman", pacman=pytest.helpers.anyvar(int))
official_search_mock.assert_called_once_with("ahriman", pacman=pytest.helpers.anyvar(int))
check_mock.assert_called_once_with(False, False)
print_mock.assert_has_calls([MockCall(verbose=False), MockCall(verbose=False)])
print_mock.assert_has_calls([
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": "),
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": "),
])
def test_run_empty_exception(args: argparse.Namespace, configuration: Configuration, repository: Repository,

View File

@ -1,4 +1,5 @@
import argparse
import pytest
from pytest_mock import MockerFixture
@ -38,7 +39,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository:
_, repository_id = configuration.check_loaded()
ServiceUpdates.run(args, repository_id, configuration, report=False)
package_mock.assert_called_once_with(package_ahriman.base, repository.pacman, None)
application_mock.assert_called_once_with(verbose=True, separator=" -> ")
application_mock.assert_called_once_with(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=" -> ")
check_mock.assert_called_once_with(args.exit_code, True)

View File

@ -68,7 +68,7 @@ def test_run_verbose(args: argparse.Namespace, configuration: Configuration, rep
Shell.run(args, repository_id, configuration, report=False)
application_mock.assert_called_once_with(local=pytest.helpers.anyvar(int))
read_mock.assert_called_once_with(encoding="utf8")
print_mock.assert_called_once_with(verbose=False)
print_mock.assert_called_once_with(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": ")
def test_disallow_multi_architecture_run() -> None:

View File

@ -1,4 +1,5 @@
import argparse
import pytest
from pytest_mock import MockerFixture
from unittest.mock import call as MockCall
@ -48,7 +49,10 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository:
application_mock.assert_called_once_with()
packages_mock.assert_called_once_with(None)
check_mock.assert_called_once_with(False, False)
print_mock.assert_has_calls([MockCall(verbose=False) for _ in range(3)])
print_mock.assert_has_calls([
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": ")
for _ in range(3)
])
def test_run_empty_exception(args: argparse.Namespace, configuration: Configuration, repository: Repository,
@ -82,7 +86,10 @@ def test_run_verbose(args: argparse.Namespace, configuration: Configuration, rep
_, repository_id = configuration.check_loaded()
Status.run(args, repository_id, configuration, report=False)
print_mock.assert_has_calls([MockCall(verbose=True) for _ in range(2)])
print_mock.assert_has_calls([
MockCall(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=": ")
for _ in range(2)
])
def test_run_with_package_filter(args: argparse.Namespace, configuration: Configuration, repository: Repository,
@ -116,7 +123,10 @@ def test_run_by_status(args: argparse.Namespace, configuration: Configuration, r
_, repository_id = configuration.check_loaded()
Status.run(args, repository_id, configuration, report=False)
print_mock.assert_has_calls([MockCall(verbose=False) for _ in range(2)])
print_mock.assert_has_calls([
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": ")
for _ in range(2)
])
def test_imply_with_report(args: argparse.Namespace, configuration: Configuration, database: SQLite,

View File

@ -1,4 +1,5 @@
import argparse
import pytest
from pytest_mock import MockerFixture
from unittest.mock import call as MockCall
@ -40,9 +41,9 @@ def test_run(args: argparse.Namespace, configuration: Configuration, repository:
packages_mock.assert_called_once_with([package_ahriman], count=args.partitions)
application_mock.assert_called_once_with([package_ahriman])
print_mock.assert_has_calls([
MockCall(verbose=False),
MockCall(verbose=True, separator=" "),
MockCall(verbose=False),
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": "),
MockCall(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=" "),
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": "),
])

View File

@ -35,7 +35,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc
_, repository_id = configuration.check_loaded()
UnsafeCommands.run(args, repository_id, configuration, report=False)
commands_mock.assert_called_once_with(pytest.helpers.anyvar(int))
print_mock.assert_called_once_with(verbose=True)
print_mock.assert_called_once_with(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=": ")
def test_run_check(args: argparse.Namespace, configuration: Configuration, mocker: MockerFixture) -> None:

View File

@ -1,5 +1,6 @@
import argparse
import json
import pytest
from pytest_mock import MockerFixture
@ -36,7 +37,7 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc
_, repository_id = configuration.check_loaded()
Validate.run(args, repository_id, configuration, report=False)
application_mock.assert_called_once_with(configuration.dump())
print_mock.assert_called_once_with(verbose=True)
print_mock.assert_called_once_with(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=": ")
def test_run_skip(args: argparse.Namespace, configuration: Configuration, mocker: MockerFixture) -> None:

View File

@ -1,4 +1,5 @@
import argparse
import pytest
from pytest_mock import MockerFixture
from unittest.mock import call as MockCall
@ -17,7 +18,10 @@ def test_run(args: argparse.Namespace, configuration: Configuration, mocker: Moc
_, repository_id = configuration.check_loaded()
Versions.run(args, repository_id, configuration, report=False)
application_mock.assert_called_once_with("ahriman")
print_mock.assert_has_calls([MockCall(verbose=False, separator=" "), MockCall(verbose=False, separator=" ")])
print_mock.assert_has_calls([
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=" "),
MockCall(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=" "),
])
def test_package_dependencies() -> None:

View File

@ -1,3 +1,5 @@
import pytest
from pytest_mock import MockerFixture
from unittest.mock import MagicMock, call as MockCall
@ -63,3 +65,12 @@ def test_title() -> None:
must return empty title
"""
assert Printer().title() is None
def test_call(mocker: MockerFixture) -> None:
"""
must perform print call
"""
print_mock = mocker.patch("ahriman.core.formatters.Printer.print")
Printer()(verbose=False)
print_mock.assert_called_once_with(verbose=False, log_fn=pytest.helpers.anyvar(int), separator=": ")

View File

@ -1,3 +1,5 @@
import pytest
from pytest_mock import MockerFixture
from unittest.mock import call as MockCall
@ -18,4 +20,7 @@ def test_generate(configuration: Configuration, result: Result, package_python_s
report = Console(repository_id, configuration, "console")
report.generate([], result)
print_mock.assert_has_calls([MockCall(verbose=True), MockCall(verbose=True)])
print_mock.assert_has_calls([
MockCall(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=": "),
MockCall(verbose=True, log_fn=pytest.helpers.anyvar(int), separator=": "),
])