def test_ctor_parted_partition_error_handling(self): disk = StorageDevice("testdisk", exists=True) disk._partitionable = True with patch.object(disk, "_format") as fmt: fmt.type = "disklabel" self.assertTrue(disk.partitioned) fmt.supported = True # Normal case, no exn. device = PartitionDevice("testpart1", exists=True, parents=[disk]) self.assertIn(device, disk.children) device.parents.remove(disk) self.assertEqual(len(disk.children), 0, msg="disk has children when it should not") # Parted doesn't find a partition, exn is raised. fmt.parted_disk.getPartitionByPath.return_value = None self.assertRaises(DeviceError, PartitionDevice, "testpart1", exists=True, parents=[disk]) self.assertEqual( len(disk.children), 0, msg="device is still attached to disk in spite of ctor error")
def test_disk_is_empty(self): disk = StorageDevice("testdisk", exists=True) disk._partitionable = True with patch.object(disk, "_format") as fmt: fmt.type = "disklabel" self.assertTrue(disk.is_empty) PartitionDevice("testpart1", exists=True, parents=[disk]) self.assertFalse(disk.is_empty)
def test_ctor_parted_partition_error_handling(self): disk = StorageDevice("testdisk", exists=True) disk._partitionable = True with patch.object(disk, "_format") as fmt: fmt.type = "disklabel" self.assertTrue(disk.partitioned) fmt.supported = True # Normal case, no exn. device = PartitionDevice("testpart1", exists=True, parents=[disk]) self.assertIn(device, disk.children) device.parents.remove(disk) self.assertEqual(len(disk.children), 0, msg="disk has children when it should not") # Parted doesn't find a partition, exn is raised. fmt.parted_disk.getPartitionByPath.return_value = None self.assertRaises(DeviceError, PartitionDevice, "testpart1", exists=True, parents=[disk]) self.assertEqual(len(disk.children), 0, msg="device is still attached to disk in spite of ctor error")