def test_mountpoint_validity_check(self): dialog = PartitionEditDialog(self.parent_window, self.edited_device, self.resize_info, self.supported_fs, ["/root", "/var"], True) # valid mountpoint dialog.mountpoint_entry.set_text("/home") dialog.validate_user_input() self.assertFalse(self.error_dialog.called) self.error_dialog.reset_mock() # invalid mountpoint mnt = "home" dialog.mountpoint_entry.set_text(mnt) dialog.validate_user_input() self.error_dialog.assert_any_call(dialog, _("\"{0}\" is not a valid mountpoint.").format(mnt)) self.error_dialog.reset_mock() # duplicate mountpoint mnt = "/root" dialog.mountpoint_entry.set_text(mnt) dialog.validate_user_input() self.error_dialog.assert_any_call(dialog, "Selected mountpoint \"%s\" is already set for another device." % mnt) self.error_dialog.reset_mock() # same mountpoint self.edited_device.format.configure_mock(mountpoint="/var") dialog.mountpoint_entry.set_text("/var") dialog.validate_user_input() self.assertFalse(self.error_dialog.called) # no change --> no error self.error_dialog.reset_mock() self.edited_device.format.configure_mock(mountpoint="")
def test_selection_format(self): dialog = PartitionEditDialog(self.parent_window, self.edited_device, self.resize_info, self.supported_fs, [], True) # select the format_check dialog.format_check.set_active(True) dialog.fslabel_entry.set_text("Label") selection = dialog.get_selection() # check the results -- device should be resized without formatting and mountpoint self.assertEqual(selection.edit_device, self.edited_device) self.assertFalse(selection.resize) self.assertTrue(selection.fmt) self.assertIsNotNone(selection.filesystem) self.assertEqual(selection.label, "Label")
def test_selection_resize(self): dialog = PartitionEditDialog(self.parent_window, self.edited_device, self.resize_info, self.supported_fs, [], True) # select new size size_area = dialog.widgets_dict["size"][0] size_area._scale.set_value(size_area._scale.get_value() // 2) # select new mountpoint dialog.mountpoint_entry.get_buffer().set_text("/home", len("/home")) selection = dialog.get_selection() # check the results -- device should be resized without formatting and mountpoint self.assertEqual(selection.edit_device, self.edited_device) self.assertTrue(selection.resize) self.assertFalse(selection.fmt) self.assertIsNone(selection.filesystem) self.assertEqual(selection.mountpoint, "/home")
def test_label_validity_check(self): dialog = PartitionEditDialog(self.parent_window, self.edited_device, self.resize_info, self.supported_fs, [], True) # valid label label = "a" * 5 dialog.format_check.set_active(True) dialog.filesystems_combo.set_active_id("ext4") dialog.fslabel_entry.set_text(label) dialog.validate_user_input() self.assertFalse(self.error_dialog.called) # valid label, no error_dialog self.error_dialog.reset_mock() # invalid label for ext4 (too long) label = "a" * 50 dialog.format_check.set_active(True) dialog.filesystems_combo.set_active_id("ext4") dialog.fslabel_entry.set_text(label) dialog.validate_user_input() self.error_dialog.assert_any_call(dialog, _("\"{label}\" is not a valid label.").format(label=label)) self.error_dialog.reset_mock()