1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/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'}
)
]
)
|