forked from autotest/virt-test
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutils_selinux_unittest.py
executable file
·60 lines (54 loc) · 1.96 KB
/
utils_selinux_unittest.py
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
#!/usr/bin/python
"""
Unittests for utils_libvirtd module.
"""
import unittest
import common
from virttest import utils_selinux
from autotest.client import os_dep
class TestSelinux(unittest.TestCase):
"""
Class for unittests of utils_selinux.
"""
def test_sestatus(self):
"""
Test the method related with sestatus.
"""
status = utils_selinux.get_status()
#b/c there is no assertIn method in re.py in python2.6.
#use assertTrue.
self.assertTrue(status in ['enforcing', 'permissive', 'disabled'])
if utils_selinux.is_disabled():
self.assertRaises(utils_selinux.SelinuxError,
utils_selinux.set_status, "enforcing")
else:
self.assertRaises(utils_selinux.SelinuxError,
utils_selinux.set_status, "disabled")
def test_is_or_not_disabled(self):
"""
Test the method about selinux disabled.
"""
is_disabled = utils_selinux.is_disabled()
self.assertTrue(is_disabled in [True, False])
is_not_disabled = utils_selinux.is_not_disabled()
self.assertTrue(is_not_disabled in [True, False])
self.assertEqual(not is_disabled, is_not_disabled)
def test_context(self):
"""
Test the context related method.
"""
output = "output system_u:object_r:svirt_t:s0-s1:c250,c280 test"
result = utils_selinux.get_context_from_str(string=output)
self.assertEqual(result, "system_u:object_r:svirt_t:s0-s1:c250,c280")
result = utils_selinux.get_context_of_file(filename=__file__)
utils_selinux.set_context_of_file(filename=__file__, context=result)
utils_selinux.get_context_of_process(pid=1)
if __name__ == '__main__':
try:
os_dep.command("getsebool")
except ValueError:
#There is no selinux on host,
#so this unittest will be skipped.
pass
else:
unittest.main()