Files
ahriman/ahriman-core/tests/ahriman/application/conftest.py
T
arcanisandGitHub 700893ecac build: subpackages implementation (#164)
* migrate to hatch

* reorder tests

* generic fixtures

* straight forward conftest

* fix docs generation

* fix tox environments

* reformat tomls

* cleanup pyproject

* some play with renaming

* move root conftest into pytest plugins

* fix setup script

* move fixtures to __init__.py

* remove duplicate fixtures

* disable pylint warning

* simplify configuration fixture

* remove empty conftest

* remove crap from local pyprojects
2026-07-17 14:00:20 +03:00

60 lines
1.7 KiB
Python

import argparse
import pytest
from pytest_mock import MockerFixture
from ahriman.application.application import Application
from ahriman.application.help_formatter import _HelpFormatter
from ahriman.application.lock import Lock
from ahriman.core.configuration import Configuration
from ahriman.core.database import SQLite
from ahriman.core.repository import Repository
@pytest.fixture
def application(configuration: Configuration, repository: Repository, database: SQLite,
mocker: MockerFixture) -> Application:
"""
fixture for application
Args:
configuration(Configuration): configuration fixture
database(SQLite): database fixture
repository(Repository): repository fixture
mocker(MockerFixture): mocker object
Returns:
Application: application test instance
"""
mocker.patch("ahriman.core.database.SQLite.load", return_value=database)
mocker.patch("ahriman.core.repository.Repository.load", return_value=repository)
_, repository_id = configuration.check_loaded()
return Application(repository_id, configuration, report=False)
@pytest.fixture
def formatter() -> _HelpFormatter:
"""
fixture for help message formatter
Returns:
_HelpFormatter: help message formatter test instance
"""
return _HelpFormatter("ahriman")
@pytest.fixture
def lock(args: argparse.Namespace, configuration: Configuration) -> Lock:
"""
fixture for file lock
Args:
args(argparse.Namespace): command line arguments fixture
configuration(Configuration): configuration fixture
Returns:
Lock: file lock test instance
"""
_, repository_id = configuration.check_loaded()
return Lock(args, repository_id, configuration)