Example #1
0
    def test(self):
        vol = Volume(self.device, self.mpoint)

        # When trying to do filesystem operations without having a fs on volume ValueError raises
        self.assertRaises(StorageError, vol.freeze)
        self.assertRaises(StorageError, vol.unfreeze)

        # After creating a filesystem ValueError dissapears
        vol.mkfs('ext3')
        self.assertTrue(vol.fstype, 'ext3')
        vol.freeze()
        vol.unfreeze()

        # When volume is mounted without mpoint specify, it gets from volume mpoint property
        self.assertFalse(vol.mounted())
        vol.mount()
        self.assertTrue(vol.mpoint, self.mpoint)
        self.assertTrue(vol.mounted())

        # When volume is unmounted, volume mpoint property remains
        vol.umount()
        self.assertEqual(vol.mpoint, self.mpoint)
        self.assertFalse(vol.mounted())

        snap = vol.snapshot(description='test snap')
        self.assertTrue(isinstance(snap, Snapshot))
        self.assertEqual(snap.description, 'test snap')