Esempio n. 1
0
class TestFilesystemParser(CiTestCase):
    def setUp(self):
        super(TestFilesystemParser, self).setUp()
        self.probe_data = _get_data('probert_storage_diglett.json')
        self.fsp = FilesystemParser(self.probe_data)

    def test_filesystem_parser(self):
        """ FilesystemParser 'class_data' on instance matches input. """
        self.assertDictEqual(self.probe_data['filesystem'],
                             self.fsp.class_data)

    def test_filesystem_parser_blockdev_data(self):
        """ FilesystemParser has blockdev_data attr matches input. """
        self.assertDictEqual(self.probe_data['blockdev'],
                             self.fsp.blockdev_data)

    @skipUnlessJsonSchema()
    def test_filesystem_parser_ignores_fs_without_blockdev(self):
        """ FilesystemParser ignores fsdata from unknown block devices."""
        # add filesystem data for a device not in blockdev_data
        blockdev = self.random_string()
        fs = {'TYPE': 'ext4', 'USAGE': 'filesystem'}
        self.fsp.class_data = {blockdev: fs}
        self.assertNotIn(blockdev, self.fsp.blockdev_data)
        expected_error = ("No probe data found for blockdev %s for fs: %s" %
                          (blockdev, fs))
        self.assertEqual(([], [expected_error]), self.fsp.parse())

    def test_filesystem_parser_asdict(self):
        """ FilesystemParse returns expected dictionary for probe data."""
        blockdev = '/dev/bcache0'
        expected_dict = {
            'id': 'format-bcache0',
            'type': 'format',
            'volume': 'bcache0',
            'uuid': '45354276-e0c0-4bf6-9083-f130b89411cc',
            'fstype': 'ext4',
        }
        fs_data = self.fsp.class_data[blockdev]

        self.assertIn(blockdev, self.fsp.blockdev_data)
        self.assertIn(blockdev, self.fsp.class_data)
        self.assertDictEqual(expected_dict,
                             self.fsp.asdict('bcache0', fs_data))
Esempio n. 2
0
 def setUp(self):
     super(TestFilesystemParser, self).setUp()
     self.probe_data = _get_data('probert_storage_diglett.json')
     self.fsp = FilesystemParser(self.probe_data)