12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/usr/bin/python3
- #
- # The Qubes OS Project, https://www.qubes-os.org/
- #
- # Copyright (C) 2016 Marta Marczykowska-Górecka
- # <marmarta@invisiblethingslab.com>
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License along
- # with this program; if not, write to the Free Software Foundation, Inc.,
- # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- import logging.handlers
- import unittest.mock
- from PyQt5 import QtWidgets
- from qubesadmin import Qubes
- from qubesmanager import backup_utils
- from qubesmanager.tests import init_qtapp
- class BackupUtilsTest(unittest.TestCase):
- def setUp(self):
- super(BackupUtilsTest, self).setUp()
- self.qtapp, self.loop = init_qtapp()
- self.qapp = Qubes()
- def test_01_fill_apvms(self):
- dialog = QtWidgets.QDialog()
- combobox = QtWidgets.QComboBox()
- dialog.appvm_combobox = combobox
- dialog.qubes_app = self.qapp
- backup_utils.fill_appvms_list(dialog)
- # see if the dialog has nothing selected
- self.assertEqual(combobox.currentIndex(), 0,
- "Incorrect item selected")
- # the combobox should contain running VMs that are not internal and
- # not template
- expected_vm_list = [vm.name for vm in self.qapp.domains
- if vm.is_running() and vm.klass != 'TemplateVM'
- and not getattr(vm, 'internal', False)]
- received_vm_list = []
- for i in range(combobox.count()):
- received_vm_list.append(combobox.itemText(i))
- self.assertListEqual(sorted(expected_vm_list), sorted(received_vm_list),
- "VM list not filled correctly")
- if __name__ == "__main__":
- ha_syslog = logging.handlers.SysLogHandler('/dev/log')
- ha_syslog.setFormatter(
- logging.Formatter('%(name)s[%(process)d]: %(message)s'))
- logging.root.addHandler(ha_syslog)
- unittest.main()
|