Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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")
Esempio n. 7
0
    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)
Esempio n. 8
0
    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)