def test_installer(self): dev = MagicMock(size=Size("1 GiB"), format=MagicMock(mountpoint=None)) dialog = FormatDialog(self.parent_window, dev, [], True) # ninstaller_mode, mountpoint widgets should be visible self.assertTrue(dialog.mnt_entry.get_visible()) # test mountpoint entry sensitivity (insensitive for not mountable) and selection fstype = next( (fs.type for fs in supported_filesystems() if fs.mountable), None) if fstype: dialog.fs_combo.set_active_id(fstype) dialog.mnt_entry.set_text("/boot") selected_fs, _selected_label, selected_mnt = dialog.get_selection() self.assertTrue(dialog.mnt_entry.get_sensitive()) self.assertEqual(selected_fs, fstype) self.assertEqual(selected_mnt, "/boot") # test 'unformatted' selection (can't set mountpoint for "none" format) dialog.fs_combo.set_active_id("unformatted") selected_fs, _selected_label, selected_mnt = dialog.get_selection() self.assertFalse(dialog.mnt_entry.get_sensitive()) # test mountpoint validation fstype = next( (fs.type for fs in supported_filesystems() if fs.mountable), None) if fstype: dialog.fs_combo.set_active_id(fstype) dialog.mnt_entry.set_text("aaaaa") dialog.validate_user_input() self.error_dialog.assert_any_call( dialog.dialog, _("\"{0}\" is not a valid mountpoint.").format("aaaaa"), False)
def test_installer(self): dev = MagicMock(size=Size("1 GiB")) dialog = FormatDialog(self.parent_window, dev, [], True) # ninstaller_mode, mountpoint widgets should be visible self.assertTrue(dialog.mnt_entry.get_visible()) # test mountpoint entry sensitivity (insensitive for not mountable) and selection fstype = next((fs.type for fs in supported_filesystems() if fs.mountable), None) if fstype: dialog.fs_combo.set_active_id(fstype) dialog.mnt_entry.set_text("/boot") selected_fs, selected_mnt = dialog.get_selection() self.assertTrue(dialog.mnt_entry.get_sensitive()) self.assertEqual(selected_fs, fstype) self.assertEqual(selected_mnt, "/boot") # test 'unformatted' selection (can't set mountpoint for "none" format) dialog.fs_combo.set_active_id("unformatted") selected_fs, selected_mnt = dialog.get_selection() self.assertFalse(dialog.mnt_entry.get_sensitive()) # test mountpoint validation fstype = next((fs.type for fs in supported_filesystems() if fs.mountable), None) if fstype: dialog.fs_combo.set_active_id(fstype) dialog.mnt_entry.set_text("aaaaa") dialog.validate_user_input() self.error_dialog.assert_any_call(dialog.dialog, _("\"{0}\" is not a valid mountpoint.").format("aaaaa"), False)
def test_basic(self): dev = MagicMock(size=Size("1 GiB"), format=MagicMock(mountpoint=None)) dialog = FormatDialog(self.parent_window, dev, [], False) # not installer_mode, mountpoint widgets should be invisible self.assertFalse(dialog.mnt_box.get_visible()) # test filesystem selection fs = next((f for f in supported_filesystems()), None) if fs: dialog.fs_combo.set_active_id(fs.type) selected_fs, selected_label, selected_mnt = dialog.get_selection() self.assertEqual(selected_fs, fs.type) self.assertIsNone(selected_label) self.assertIsNone(selected_mnt) # test label selection if fs.labeling(): self.assertTrue(dialog.label_entry.get_sensitive()) dialog.label_entry.set_text("label") selected_fs, selected_label, selected_mnt = dialog.get_selection( ) self.assertEqual(selected_label, "label") else: self.assertFalse(dialog.label_entry.get_sensitive()) # test 'unformatted' selection dialog.fs_combo.set_active_id("unformatted") self.assertFalse(dialog.label_entry.get_sensitive()) selected_fs, selected_label, selected_mnt = dialog.get_selection() self.assertIsNone(selected_fs) self.assertIsNone(selected_label) self.assertIsNone(selected_mnt)
def test_partition_selection(self): parent_device = self._get_parent_device() free_device = self._get_free_device(parent=parent_device) add_dialog = AddDialog(self.parent_window, parent_device, free_device, [("free", free_device)], [], True) fstype = next((fs.type for fs in supported_filesystems()), None) if fstype is None: self.skipTest("No supported filesystems found.") label = "label" size = Size("1 GiB") mountpoint = "/home" password = "******" add_dialog.devices_combo.set_active_id("partition") add_dialog.filesystems_combo.set_active_id(fstype) add_dialog.size_area.main_chooser.selected_size = size add_dialog.label_entry.set_text(label) add_dialog.mountpoint_entry.set_text(mountpoint) add_dialog.encrypt_check.set_active(True) add_dialog.pass_entry.set_text(password) selection = add_dialog.get_selection() self.assertEqual(selection.device_type, "partition") self.assertEqual(selection.size, size) self.assertEqual(selection.filesystem, fstype) self.assertTrue(selection.name in (None, "")) self.assertEqual(selection.label, label) self.assertEqual(selection.mountpoint, mountpoint) self.assertTrue(selection.encrypt) self.assertEqual(selection.passphrase, password) self.assertEqual(selection.parents, [(parent_device, size)]) self.assertIsNone(selection.raid_level)
def test_md_selection(self): parent_device1 = self._get_parent_device() parent_device2 = self._get_parent_device() free_device1 = self._get_free_device(parent=parent_device1) free_device2 = self._get_free_device(parent=parent_device2) add_dialog = AddDialog(self.parent_window, parent_device1, free_device1, [("free", free_device1), ("free", free_device2)], [], True) fstype = next((fs.type for fs in supported_filesystems()), None) if fstype is None: self.skipTest("No supported filesystems found.") raidtype = "raid0" size = Size("4 GiB") name = "name" add_dialog.devices_combo.set_active_id("mdraid") # select second free space add_dialog.on_cell_toggled(None, 1) add_dialog.parents_store[1][2] = True add_dialog._raid_chooser._combobox_raid.set_active_id(raidtype) # raid 0 --> second size area should be updated add_dialog.size_area._parent_area.choosers[0].selected_size = size add_dialog.name_entry.set_text(name) add_dialog.md_type_combo.set_active_id("partition") add_dialog.filesystems_combo.set_active_id(fstype) selection = add_dialog.get_selection() self.assertEqual(selection.device_type, "mdraid") self.assertEqual(selection.size_selection.total_size, 2 * size) self.assertEqual(selection.filesystem, fstype) self.assertEqual(selection.name, name) self.assertTrue(selection.label in (None, "")) self.assertTrue(selection.mountpoint in (None, "")) self.assertFalse(selection.encrypt) self.assertTrue(selection.passphrase in (None, "")) self.assertEqual(selection.size_selection.parents[0].parent_device, parent_device1) self.assertEqual(selection.size_selection.parents[0].selected_size, size) self.assertEqual(selection.size_selection.parents[1].parent_device, parent_device2) self.assertEqual(selection.size_selection.parents[1].selected_size, size) self.assertEqual(selection.raid_level, raidtype)
def test_md_selection(self): parent_device1 = self._get_parent_device() parent_device2 = self._get_parent_device() free_device1 = self._get_free_device(parent=parent_device1) free_device2 = self._get_free_device(parent=parent_device2) add_dialog = AddDialog( self.parent_window, parent_device1, free_device1, [("free", free_device1), ("free", free_device2)], [], True ) fstype = next((fs.type for fs in supported_filesystems()), None) if fstype is None: self.skipTest("No supported filesystems found.") raidtype = "raid0" size = Size("4 GiB") name = "name" add_dialog.devices_combo.set_active_id("mdraid") # select second free space add_dialog.on_cell_toggled(None, 1) add_dialog.parents_store[1][2] = True add_dialog.raid_combo.set_active_id(raidtype) # raid 0 --> second size area should be updated add_dialog.size_area.parent_area.choosers[0].selected_size = size add_dialog.name_entry.set_text(name) add_dialog.md_type_combo.set_active_id("partition") add_dialog.filesystems_combo.set_active_id(fstype) selection = add_dialog.get_selection() self.assertEqual(selection.device_type, "mdraid") self.assertEqual(selection.size, 2 * size) self.assertEqual(selection.filesystem, fstype) self.assertEqual(selection.name, name) self.assertTrue(selection.label in (None, "")) self.assertTrue(selection.mountpoint in (None, "")) self.assertFalse(selection.encrypt) self.assertTrue(selection.passphrase in (None, "")) self.assertEqual(selection.parents, [(parent_device1, size), (parent_device2, size)]) self.assertEqual(selection.raid_level, "raid0")
def test_basic(self): dev = MagicMock(size=Size("1 GiB")) dialog = FormatDialog(self.parent_window, dev, [], False) # not installer_mode, mountpoint widgets should be invisible self.assertFalse(dialog.mnt_box.get_visible()) # test filesystem selection fstype = next((fs.type for fs in supported_filesystems()), None) if fstype: dialog.fs_combo.set_active_id(fstype) selected_fs, selected_mnt = dialog.get_selection() self.assertEqual(selected_fs, fstype) self.assertIsNone(selected_mnt) # test 'unformatted' selection dialog.fs_combo.set_active_id("unformatted") selected_fs, selected_mnt = dialog.get_selection() self.assertIsNone(selected_fs) self.assertIsNone(selected_mnt)
def test_partition_selection(self): parent_device = self._get_parent_device() free_device = self._get_free_device(parent=parent_device) add_dialog = AddDialog(self.parent_window, parent_device, free_device, [("free", free_device)], [], True) fstype = next((fs.type for fs in supported_filesystems()), None) if fstype is None: self.skipTest("No supported filesystems found.") label = "label" size = Size("1 GiB") mountpoint = "/home" password = "******" add_dialog.devices_combo.set_active_id("partition") add_dialog.filesystems_combo.set_active_id(fstype) add_dialog.size_area.main_chooser.selected_size = size add_dialog.label_entry.set_text(label) add_dialog.mountpoint_entry.set_text(mountpoint) add_dialog.encrypt_check.set_active(True) add_dialog.pass_entry.set_text(password) selection = add_dialog.get_selection() self.assertEqual(selection.device_type, "partition") self.assertEqual(selection.size_selection.total_size, size) self.assertEqual(selection.filesystem, fstype) self.assertTrue(selection.name in (None, "")) self.assertEqual(selection.label, label) self.assertEqual(selection.mountpoint, mountpoint) self.assertTrue(selection.encrypt) self.assertEqual(selection.passphrase, password) self.assertEqual(selection.size_selection.parents[0].parent_device, parent_device) self.assertEqual(selection.size_selection.parents[0].selected_size, size) self.assertIsNone(selection.raid_level)