class HardDriveSourceTestCase(unittest.TestCase): def setUp(self): self.module = HardDriveSourceModule() def type_test(self): """Hard drive source module has a correct type.""" self.assertEqual(SourceType.HDD, self.module.type) def network_required_test(self): """Test the property network_required.""" self.assertEqual(self.module.network_required, False) def set_up_with_tasks_test(self): """Hard drive source set up task type and amount.""" task_classes = [SetUpHardDriveSourceTask] # task will not be public so it won't be published tasks = self.module.set_up_with_tasks() # Check the number of the tasks task_number = len(task_classes) self.assertEqual(task_number, len(tasks)) for i in range(task_number): self.assertIsInstance(tasks[i], task_classes[i]) @patch("os.path.ismount") def ready_state_test(self, ismount): """Hard drive source ready state for set up.""" ismount.return_value = False self.assertEqual(self.module.get_state(), SourceState.UNREADY) ismount.assert_called_once_with(self.module._device_mount) ismount.reset_mock() ismount.return_value = True task = self.module.set_up_with_tasks()[0] task.get_result = Mock( return_value=SetupHardDriveResult("/my/path", "")) task.succeeded_signal.emit() self.assertEqual(self.module.get_state(), SourceState.READY) ismount.assert_called_once_with(self.module._device_mount) def return_handler_test(self): """Hard drive source setup result propagates back.""" task = self.module.set_up_with_tasks()[0] task.get_result = Mock(return_value=SetupHardDriveResult( iso_mount_location, "iso_name.iso")) task.succeeded_signal.emit() self.assertEqual(self.module.install_tree_path, iso_mount_location) self.assertEqual(self.module._iso_name, "iso_name.iso") def return_handler_without_iso_test(self): """Hard drive source setup result propagates back when no ISO is involved. This is happening when installation tree is used instead of ISO image. """ task = self.module.set_up_with_tasks()[0] task.get_result = Mock( return_value=SetupHardDriveResult(iso_mount_location, "")) task.succeeded_signal.emit() self.assertEqual(self.module.install_tree_path, iso_mount_location) self.assertEqual(self.module._iso_name, "") def repr_test(self): self.module.set_device("device") self.module.set_directory("directory") self.module._install_tree_path = "install-tree-path" self.assertEqual( repr(self.module), "Source(type='HDD', partition='device', directory='directory')")
def setUp(self): self.source_module = HardDriveSourceModule()
def setUp(self): self.module = HardDriveSourceModule() self.interface = HardDriveSourceInterface(self.module) self.callback = PropertiesChangedCallback() self.interface.PropertiesChanged.connect(self.callback)