Esempio n. 1
0
def test_updates_manual_clear(update_handler: UpdateHandler,
                              mocker: MockerFixture) -> None:
    """
    requesting manual updates must clear packages directory
    """
    mocker.patch("pathlib.Path.iterdir", return_value=[])
    mocker.patch(
        "ahriman.core.repository.update_handler.UpdateHandler.packages")

    update_handler.updates_manual()

    from ahriman.core.repository.cleaner import Cleaner
    Cleaner.clear_manual.assert_called_once()
Esempio n. 2
0
def test_updates_manual_status_unknown(update_handler: UpdateHandler,
                                       package_ahriman: Package,
                                       mocker: MockerFixture) -> None:
    """
    must create record for unknown package via reporter
    """
    mocker.patch("pathlib.Path.iterdir", return_value=[package_ahriman.base])
    mocker.patch(
        "ahriman.core.repository.update_handler.UpdateHandler.packages",
        return_value=[])
    mocker.patch("ahriman.models.package.Package.load",
                 return_value=package_ahriman)
    status_client_mock = mocker.patch(
        "ahriman.core.status.client.Client.set_unknown")

    update_handler.updates_manual()
    status_client_mock.assert_called_once()
Esempio n. 3
0
def test_updates_manual_with_failures(update_handler: UpdateHandler,
                                      package_ahriman: Package,
                                      mocker: MockerFixture) -> None:
    """
    must process through the packages with failure
    """
    mocker.patch("pathlib.Path.iterdir", return_value=[package_ahriman.base])
    mocker.patch(
        "ahriman.core.repository.update_handler.UpdateHandler.packages",
        return_value=[])
    mocker.patch("ahriman.models.package.Package.load",
                 side_effect=Exception())

    assert update_handler.updates_manual() == []