def test_list():

    platform_config = PlatformConfig(CONFIG_DIR)
    lsblk = Lsblk(platform_config, PathChecker(platform_config))

    disks = lsblk.available_disks(default_output)
    assert len(disks) == 5
    disk = [d for d in disks if d.device == '/dev/sda'][0]
    assert len(disk.partitions) == 4

    disk = [d for d in disks if d.device == '/dev/sdb'][0]
    assert disk.partitions[2].mount_point == '/opt/disk/external'
    assert len(disk.partitions) == 3
def test_raid():
    raid_output = '''NAME="/dev/sda" SIZE="1.8T" TYPE="disk" MOUNTPOINT="" PARTTYPE="" FSTYPE="linux_raid_member" MODEL="WDC WD20EFRX-68E"
NAME="/dev/sdb" SIZE="1.8T" TYPE="disk" MOUNTPOINT="" PARTTYPE="" FSTYPE="linux_raid_member" MODEL="WDC WD20EFRX-68E"
NAME="/dev/sdc" SIZE="1.8T" TYPE="disk" MOUNTPOINT="" PARTTYPE="" FSTYPE="linux_raid_member" MODEL="WDC WD20EFRX-68E"
NAME="/dev/sdd" SIZE="1.8T" TYPE="disk" MOUNTPOINT="" PARTTYPE="" FSTYPE="linux_raid_member" MODEL="WDC WD20EFRX-68E"
NAME="/dev/md0" SIZE="3.7T" TYPE="raid10" MOUNTPOINT="/mnt/md0" PARTTYPE="" FSTYPE="ext4" MODEL=""
NAME="/dev/md0" SIZE="3.7T" TYPE="raid10" MOUNTPOINT="/mnt/md0" PARTTYPE="" FSTYPE="ext4" MODEL=""
NAME="/dev/md0" SIZE="3.7T" TYPE="raid10" MOUNTPOINT="/mnt/md0" PARTTYPE="" FSTYPE="ext4" MODEL=""
NAME="/dev/md0" SIZE="3.7T" TYPE="raid10" MOUNTPOINT="/mnt/md0" PARTTYPE="" FSTYPE="ext4" MODEL=""'''

    platform_config = PlatformConfig(CONFIG_DIR)
    lsblk = Lsblk(platform_config, PathChecker(platform_config))

    disks = lsblk.available_disks(raid_output)
    assert len(disks) == 1
    assert len(disks[0].partitions) == 1
    assert disks[0].partitions[0].mount_point == '/mnt/md0'
def get_lsblk():
    platform_config = PlatformConfig(CONFIG_DIR)
    return Lsblk(platform_config, PathChecker(platform_config))