mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-01-27 16:39:48 +00:00
fix: fallback to package name for missing bases in archive
package zoom is being generated without base, leading to None there Closes #155
This commit is contained in:
@@ -205,7 +205,7 @@ class Package(LazyLogging):
|
|||||||
package = pacman.handle.load_pkg(str(path))
|
package = pacman.handle.load_pkg(str(path))
|
||||||
description = PackageDescription.from_package(package, path)
|
description = PackageDescription.from_package(package, path)
|
||||||
return cls(
|
return cls(
|
||||||
base=package.base,
|
base=package.base or package.name,
|
||||||
version=package.version,
|
version=package.version,
|
||||||
remote=RemoteSource(source=PackageSource.Archive),
|
remote=RemoteSource(source=PackageSource.Archive),
|
||||||
packages={package.name: description},
|
packages={package.name: description},
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import copy
|
|||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from pytest_mock import MockerFixture
|
from pytest_mock import MockerFixture
|
||||||
from unittest.mock import MagicMock, call as MockCall
|
from unittest.mock import MagicMock, PropertyMock, call as MockCall
|
||||||
|
|
||||||
from ahriman.core.alpm.pacman import Pacman
|
from ahriman.core.alpm.pacman import Pacman
|
||||||
from ahriman.core.configuration import Configuration
|
from ahriman.core.configuration import Configuration
|
||||||
@@ -163,6 +163,23 @@ def test_from_archive(package_ahriman: Package, pyalpm_handle: MagicMock, mocker
|
|||||||
assert generated == package_ahriman
|
assert generated == package_ahriman
|
||||||
|
|
||||||
|
|
||||||
|
def test_from_archive_empty_base(package_ahriman: Package, pyalpm_package_ahriman: MagicMock,
|
||||||
|
mocker: MockerFixture) -> None:
|
||||||
|
"""
|
||||||
|
must construct package with empty base from alpm library
|
||||||
|
"""
|
||||||
|
pyalpm_handle = MagicMock()
|
||||||
|
type(pyalpm_package_ahriman).base = PropertyMock(return_value=None)
|
||||||
|
pyalpm_handle.handle.load_pkg.return_value = pyalpm_package_ahriman
|
||||||
|
|
||||||
|
mocker.patch("ahriman.models.package_description.PackageDescription.from_package",
|
||||||
|
return_value=package_ahriman.packages[package_ahriman.base])
|
||||||
|
generated = Package.from_archive(Path("path"), pyalpm_handle)
|
||||||
|
generated.remote = package_ahriman.remote
|
||||||
|
|
||||||
|
assert generated == package_ahriman
|
||||||
|
|
||||||
|
|
||||||
def test_from_aur(package_ahriman: Package, aur_package_ahriman: AURPackage, mocker: MockerFixture) -> None:
|
def test_from_aur(package_ahriman: Package, aur_package_ahriman: AURPackage, mocker: MockerFixture) -> None:
|
||||||
"""
|
"""
|
||||||
must construct package from aur
|
must construct package from aur
|
||||||
|
|||||||
Reference in New Issue
Block a user