summaryrefslogtreecommitdiffstats
path: root/tests/pyanaconda_test/desktop_test.py
blob: 2078c9ab5662ff99bfb1fc919c8583c4f983beb5 (plain)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/python

import mock
import sys

class DesktopTest(mock.TestCase):

    def setUp(self):
        self.setupModules(["_isys", "block", "ConfigParser"])
        self.fs = mock.DiskIO()

        self.fs.open('/mnt/sysimage/etc/inittab', 'w').write('id:5:initdefault:')
        self.fs.open('/mnt/sysimage/etc/sysconfig/desktop', 'w').write('')

        import pyanaconda.desktop
        pyanaconda.desktop.log = mock.Mock()
        pyanaconda.desktop.open = self.fs.open

    def tearDown(self):
        self.tearDownModules()

    def set_default_run_level_1_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        self.assertRaises(RuntimeError, dskt.setDefaultRunLevel, 1)
        self.assertRaises(RuntimeError, dskt.setDefaultRunLevel, 2)
        self.assertRaises(RuntimeError, dskt.setDefaultRunLevel, 4)

    def set_default_run_level_2_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultRunLevel(3)
        self.assertEqual(dskt.runlevel, 3)
        dskt.setDefaultRunLevel(5)
        self.assertEqual(dskt.runlevel, 5)

    def get_default_run_level_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        self.assertEqual(dskt.getDefaultRunLevel(), dskt.runlevel)

    def set_get_default_run_level_1_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultRunLevel(3)
        self.assertEqual(dskt.getDefaultRunLevel(), 3)

    def set_get_default_run_level_2_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultRunLevel(5)
        self.assertEqual(dskt.getDefaultRunLevel(), 5)

    def set_default_desktop_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultDesktop('desktop')
        self.assertEqual(dskt.info['DESKTOP'], 'desktop')

    def get_default_desktop_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.info['DESKTOP'] = 'foobar'
        ret = dskt.getDefaultDesktop()
        self.assertEqual(ret, 'foobar')

    def set_get_default_desktop_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultDesktop('foo')
        ret = dskt.getDefaultDesktop()
        self.assertEqual(ret, 'foo')

    def write_1_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.write()
        self.assertEqual(self.fs['/mnt/sysimage/etc/inittab'],
                         'id:3:initdefault:')

    def write_2_test(self):
        import pyanaconda.desktop
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultRunLevel(5)
        dskt.write()
        self.assertEqual(self.fs['/mnt/sysimage/etc/inittab'],
                         'id:5:initdefault:')

    def write_3_test(self):
        import pyanaconda.desktop
        pyanaconda.desktop.os = mock.Mock()
        pyanaconda.desktop.os.path.isdir.return_value = True
        dskt = pyanaconda.desktop.Desktop()
        dskt.setDefaultDesktop('foo')
        dskt.write()
        self.assertEqual(self.fs['/mnt/sysimage/etc/inittab'],
                         'id:3:initdefault:')
        self.assertEqual(self.fs['/mnt/sysimage/etc/sysconfig/desktop'],
                         'DESKTOP="foo"\n')