def test_invalid_fstab_info(monkeypatch):
    monkeypatch.setattr(reporting, "create_report", create_report_mocked())
    monkeypatch.setattr(api, 'current_logger', logger_mocked())

    storagescanner._get_fstab_info(os.path.join(CUR_DIR,
                                                'files/invalid_fstab'))
    assert reporting.create_report.called == 1
    assert reporting.create_report.report_fields['severity'] == 'high'
    assert 'Problems with parsing data in /etc/fstab' in reporting.create_report.report_fields[
        'title']
    assert 'inhibitor' in reporting.create_report.report_fields['flags']
    assert any("The fstab configuration file seems to be invalid" in msg
               for msg in api.current_logger.errmsg)
def test_get_fstab_info(monkeypatch):
    expected = [
        FstabEntry(fs_spec='/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-root',
                   fs_file='/',
                   fs_vfstype='xfs',
                   fs_mntops='defaults',
                   fs_freq='0',
                   fs_passno='0'),
        FstabEntry(fs_spec='UUID=0a5215ef-1fb4-4b1b-8860-be4baa9e624c',
                   fs_file='/boot',
                   fs_vfstype='xfs',
                   fs_mntops='defaults',
                   fs_freq='0',
                   fs_passno='1'),
        FstabEntry(fs_spec='UUID=acf9f525-3691-429f-96d7-3f8530227062',
                   fs_file='/var',
                   fs_vfstype='xfs',
                   fs_mntops='defaults',
                   fs_freq='0',
                   fs_passno='0'),
        FstabEntry(fs_spec='UUID=d74186c9-21d5-4549-ae26-91ca9ed36f56',
                   fs_file='/tmp',
                   fs_vfstype='ext4',
                   fs_mntops='defaults,nodev,nosuid,noexec',
                   fs_freq='1',
                   fs_passno='0'),
        FstabEntry(fs_spec='/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-swap',
                   fs_file='swap',
                   fs_vfstype='swap',
                   fs_mntops='defaults',
                   fs_freq='0',
                   fs_passno='0')
    ]
    assert expected == storagescanner._get_fstab_info(
        os.path.join(CUR_DIR, 'files/fstab'))
    monkeypatch.setattr(storagescanner, '_is_file_readable',
                        lambda dummy: False)
    assert [] == storagescanner._get_fstab_info('unreadable_file')