101 lines
3.4 KiB
Python
101 lines
3.4 KiB
Python
#!/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')
|
|
|