# # Tests for the 'osbuild.util.selinux' module. # import io import unittest from osbuild.util import selinux class TestObjectStore(unittest.TestCase): def test_selinux_config(self): f = io.StringIO() cfg = selinux.parse_config(f) self.assertIsNotNone(cfg) policy = selinux.config_get_policy(cfg) self.assertIsNone(policy) example_good = """ # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. # mls - Multi Level Security protection. SELINUXTYPE=targeted """ f = io.StringIO(example_good) cfg = selinux.parse_config(f) self.assertIn('SELINUX', cfg) self.assertIn('SELINUXTYPE', cfg) self.assertEqual(cfg['SELINUX'], 'enforcing') self.assertEqual(cfg['SELINUXTYPE'], 'targeted') policy = selinux.config_get_policy(cfg) self.assertEqual(policy, 'targeted')