qubes-installer-qubes-os/anaconda/tests/pyanaconda_test/security_test.py
2013-01-24 01:45:53 +01:00

63 lines
1.9 KiB
Python

#!/usr/bin/python
import mock
import sys
class SecurityTest(mock.TestCase):
def setUp(self):
self.setupModules(["_isys", "block", "ConfigParser"])
self.fs = mock.DiskIO()
import pyanaconda.security
pyanaconda.security.log = mock.Mock()
pyanaconda.security.open = self.fs.open
pyanaconda.security.iutil = mock.Mock()
import pyanaconda.flags
pyanaconda.flags.flags.selinux = 1
def tearDown(self):
self.tearDownModules()
def set_get_selinux_test(self):
import pyanaconda.security
states = pyanaconda.security.selinux_states
scrt = pyanaconda.security.Security()
for state in states:
scrt.setSELinux(state)
self.assertEqual(scrt.getSELinux(), state)
def set_get_selinux_bad_sate_test(self):
import pyanaconda.security
states = pyanaconda.security.selinux_states
scrt = pyanaconda.security.Security()
scrt.setSELinux('bad_state')
self.assertTrue(scrt.getSELinux() in states)
def write_test(self):
"""Simulate writing security (simulate executing lokkit and authconfig)"""
import pyanaconda.security
scrt = pyanaconda.security.Security()
pyanaconda.security.ROOT_PATH = "/tmp/security"
scrt.write()
self.assertEqual(pyanaconda.security.iutil.method_calls,
[('execWithRedirect',
('/usr/sbin/lokkit', ['--selinux=enforcing']),
{'root': '/tmp/security', 'stderr': '/dev/null', 'stdout': '/dev/null'}
),
('resetRpmDb', (), {}),
('execWithRedirect',
('/usr/sbin/authconfig',
['--update', '--nostart', '--enableshadow', '--passalgo=sha512']
),
{'root': '/tmp/security', 'stderr': '/dev/tty5', 'stdout': '/dev/tty5'}
)
]
)