aboutsummaryrefslogtreecommitdiff
path: root/tests/test_distro.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_distro.py')
-rw-r--r--tests/test_distro.py27
1 files changed, 22 insertions, 5 deletions
diff --git a/tests/test_distro.py b/tests/test_distro.py
index 409c1c6..21df2c0 100644
--- a/tests/test_distro.py
+++ b/tests/test_distro.py
@@ -19,16 +19,17 @@ import unittest
from mock import patch
try:
- import lsb_release
- have_lsb_release=True
+ import lsb_release # noqa: F401
+ have_lsb_release = True
except ImportError:
- have_lsb_release=False
-
+ have_lsb_release = False
from whatmaps.distro import Distro, detect
+
class Pkg(object):
name = 'doesnotmatter'
+
class TestDistro(unittest.TestCase):
def test_abstract(self):
"""Check abstract method signatures"""
@@ -45,7 +46,6 @@ class TestDistro(unittest.TestCase):
self.assertEqual(Distro.pkg_service_blacklist(Pkg), [])
self.assertFalse(Distro.has_apt())
-
@unittest.skipUnless(have_lsb_release, "lsb_release not installed")
def test_detect_via_lsb_release_module(self):
"Detect distro via lsb_release"
@@ -54,3 +54,20 @@ class TestDistro(unittest.TestCase):
with patch('os.path.exists', return_value=False):
d = detect()
self.assertEqual(d.id, 'Debian')
+
+ def test_filter_services_empty(self):
+ d = Distro()
+ self.assertEqual(set(['foo', 'bar']),
+ d.filter_services(['foo', 'bar']))
+
+ def test_filter_services_one(self):
+ d = Distro()
+ d.service_blacklist_re = ['^f..']
+ self.assertEqual(set(['bar']),
+ d.filter_services(['foo', 'bar']))
+
+ def test_filter_services_all(self):
+ d = Distro()
+ d.service_blacklist_re = ['^f..', '^b..']
+ self.assertEqual(set(),
+ d.filter_services(['foo', 'bar']))