Add source config

Config manages:

- Packages
- Systemd units
This commit is contained in:
Kivi Kaitaniemi
2024-04-25 16:00:00 +03:00
parent 42c060ba35
commit ebed2cbbee
5 changed files with 270 additions and 3 deletions
+2 -2
View File
@@ -5,9 +5,9 @@ from decman.lib import UserFacingError, Pacman, Store
from decman.lib.aur import ForeignPackageManager, DepGraph, ForeignPackage, ExtendedPackageSearch
class TestAUR(unittest.TestCase):
class TestVersionComparisons(unittest.TestCase):
def setUp(self) -> None:
def setUp(self):
pacman = Pacman()
self.aur = ForeignPackageManager(Store(), pacman,
ExtendedPackageSearch(pacman))
+95
View File
@@ -0,0 +1,95 @@
# pylint: disable=missing-module-docstring,missing-class-docstring,missing-function-docstring
import unittest
from decman.lib import Source, Store
from decman import UserPackage
class TestSource(unittest.TestCase):
def setUp(self):
source = Source(
pacman_packages=["p1", "p2", "p3"],
aur_packages=["A1", "A2", "A3"],
user_packages=[
UserPackage(
pkgname="U1",
version="1",
dependencies=["d1"],
git_url="/am/url/yes",
),
UserPackage(
pkgname="U2",
version="1",
dependencies=["d2"],
git_url="/am/url/yes",
)
],
ignored_packages=["i1", "i2"],
systemd_units=["1.service", "2.timer"],
systemd_user_units={"user": ["u1.service", "u2.timer"]},
)
store = Store()
store.enabled_systemd_units.extend(["1.service", "3.service"])
store.enabled_user_systemd_units.extend(
["user: u1.service", "user: u3.service"])
currently_installed_packages = [
"p1",
"p2",
"p4",
"A2",
"A3",
"A4",
"U1",
"i1",
]
self.source = source
self.store = store
self.currently_installed_packages = currently_installed_packages
def test_units_to_enable(self):
self.assertCountEqual(
self.source.units_to_enable(self.store),
["2.timer"],
)
def test_units_to_disable(self):
self.assertCountEqual(
self.source.units_to_disable(self.store),
["3.service"],
)
def test_user_units_to_enable(self):
self.assertDictEqual(
self.source.user_units_to_enable(self.store),
{"user": ["u2.timer"]},
)
def test_user_units_to_disable(self):
self.assertDictEqual(
self.source.user_units_to_disable(self.store),
{"user": ["u3.service"]},
)
def test_pacman_packages_to_install(self):
self.assertCountEqual(
self.source.pacman_packages_to_install(
self.currently_installed_packages),
["p3"],
)
def test_foreign_packages_to_install(self):
self.assertCountEqual(
self.source.foreign_packages_to_install(
self.currently_installed_packages),
["A1", "U2"],
)
def test_packages_to_remove(self):
self.assertCountEqual(
self.source.packages_to_remove(self.currently_installed_packages),
["p4", "A4"],
)