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))
def setUp(self): super(TestFilesystemParser, self).setUp() self.probe_data = _get_data('probert_storage_diglett.json') self.fsp = FilesystemParser(self.probe_data)