mirror of
https://github.com/kiviktnm/decman.git
synced 2026-09-19 12:08:28 +00:00
Add source config
Config manages: - Packages - Systemd units
This commit is contained in:
@@ -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"],
|
||||
)
|
||||
Reference in New Issue
Block a user