Skip to content

Commit

Permalink
Split tests so we check both the deprecated and new options
Browse files Browse the repository at this point in the history
  • Loading branch information
albertvaka committed Sep 21, 2020
1 parent d0dd671 commit 38fff62
Show file tree
Hide file tree
Showing 3 changed files with 264 additions and 114 deletions.
151 changes: 43 additions & 108 deletions disk/tests/test_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,40 +25,40 @@ def test_default_mock():

def test_bad_config_string_regex():
instance = {
'file_system_whitelist': 'test',
'file_system_blacklist': 'test',
'device_whitelist': 'test',
'device_blacklist': 'test',
'mount_point_whitelist': 'test',
'mount_point_blacklist': 'test',
'file_system_include': 'test',
'file_system_exclude': 'test',
'device_include': 'test',
'device_exclude': 'test',
'mount_point_include': 'test',
'mount_point_exclude': 'test',
}
c = Disk('disk', {}, [instance])

assert_regex_equal(c._file_system_whitelist, re.compile('test', re.I))
assert_regex_equal(c._file_system_blacklist, re.compile('test|iso9660$', re.I))
assert_regex_equal(c._device_whitelist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._device_blacklist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_whitelist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_blacklist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._file_system_include, re.compile('test', re.I))
assert_regex_equal(c._file_system_exclude, re.compile('test|iso9660$', re.I))
assert_regex_equal(c._device_include, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._device_exclude, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_include, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_exclude, re.compile('test', IGNORE_CASE))


def test_ignore_empty_regex():
instance = {
'file_system_whitelist': ['test', ''],
'file_system_blacklist': ['test', ''],
'device_whitelist': ['test', ''],
'device_blacklist': ['test', ''],
'mount_point_whitelist': ['test', ''],
'mount_point_blacklist': ['test', ''],
'file_system_include': ['test', ''],
'file_system_exclude': ['test', ''],
'device_include': ['test', ''],
'device_exclude': ['test', ''],
'mount_point_include': ['test', ''],
'mount_point_exclude': ['test', ''],
}
c = Disk('disk', {}, [instance])

assert_regex_equal(c._file_system_whitelist, re.compile('test', re.I))
assert_regex_equal(c._file_system_blacklist, re.compile('test|iso9660$', re.I))
assert_regex_equal(c._device_whitelist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._device_blacklist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_whitelist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_blacklist, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._file_system_include, re.compile('test', re.I))
assert_regex_equal(c._file_system_exclude, re.compile('test|iso9660$', re.I))
assert_regex_equal(c._device_include, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._device_exclude, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_include, re.compile('test', IGNORE_CASE))
assert_regex_equal(c._mount_point_exclude, re.compile('test', IGNORE_CASE))


def test_exclude_bad_devices():
Expand All @@ -76,8 +76,8 @@ def test_exclude_cdrom():
assert c.exclude_disk(MockPart(opts='rw,cdrom')) is True


def test_file_system_whitelist():
instance = {'file_system_whitelist': ['ext[34]', 'ntfs']}
def test_file_system_include():
instance = {'file_system_include': ['ext[34]', 'ntfs']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(fstype='ext3')) is False
Expand All @@ -86,16 +86,16 @@ def test_file_system_whitelist():
assert c.exclude_disk(MockPart(fstype='apfs')) is True


def test_file_system_blacklist():
instance = {'file_system_blacklist': ['fat']}
def test_file_system_exclude():
instance = {'file_system_exclude': ['fat']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(fstype='FAT32')) is True
assert c.exclude_disk(MockPart(fstype='zfs')) is False


def test_file_system_whitelist_blacklist():
instance = {'file_system_whitelist': ['ext[2-4]'], 'file_system_blacklist': ['ext2']}
def test_file_system_include_exclude():
instance = {'file_system_include': ['ext[2-4]'], 'file_system_exclude': ['ext2']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(fstype='ext2')) is True
Expand All @@ -104,8 +104,8 @@ def test_file_system_whitelist_blacklist():
assert c.exclude_disk(MockPart(fstype='NTFS')) is True


def test_device_whitelist():
instance = {'device_whitelist': ['/dev/sda[1-3]', 'c:']}
def test_device_include():
instance = {'device_include': ['/dev/sda[1-3]', 'c:']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(device='/dev/sda1')) is False
Expand All @@ -118,8 +118,8 @@ def test_device_whitelist():
assert c.exclude_disk(MockPart(device='path\\c:\\')) is True


def test_device_blacklist():
instance = {'device_blacklist': ['/dev/sda[1-3]']}
def test_device_exclude():
instance = {'device_exclude': ['/dev/sda[1-3]']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(device='/dev/sda1')) is True
Expand All @@ -128,8 +128,8 @@ def test_device_blacklist():
assert c.exclude_disk(MockPart(device='/dev/sda4')) is False


def test_device_whitelist_blacklist():
instance = {'device_whitelist': ['/dev/sda[1-3]'], 'device_blacklist': ['/dev/sda3']}
def test_device_include_exclude():
instance = {'device_include': ['/dev/sda[1-3]'], 'device_exclude': ['/dev/sda3']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(device='/dev/sda1')) is False
Expand All @@ -138,8 +138,8 @@ def test_device_whitelist_blacklist():
assert c.exclude_disk(MockPart(device='/dev/sda4')) is True


def test_mount_point_whitelist():
instance = {'mount_point_whitelist': ['/dev/sda[1-3]', 'c:']}
def test_mount_point_include():
instance = {'mount_point_include': ['/dev/sda[1-3]', 'c:']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(mountpoint='/dev/sda1')) is False
Expand All @@ -152,8 +152,8 @@ def test_mount_point_whitelist():
assert c.exclude_disk(MockPart(mountpoint='path\\c:\\')) is True


def test_mount_point_blacklist():
instance = {'mount_point_blacklist': ['/dev/sda[1-3]']}
def test_mount_point_exclude():
instance = {'mount_point_exclude': ['/dev/sda[1-3]']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(mountpoint='/dev/sda1')) is True
Expand All @@ -162,8 +162,8 @@ def test_mount_point_blacklist():
assert c.exclude_disk(MockPart(mountpoint='/dev/sda4')) is False


def test_mount_point_whitelist_blacklist():
instance = {'mount_point_whitelist': ['/dev/sda[1-3]'], 'mount_point_blacklist': ['/dev/sda3']}
def test_mount_point_include_exclude():
instance = {'mount_point_include': ['/dev/sda[1-3]'], 'mount_point_exclude': ['/dev/sda3']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(mountpoint='/dev/sda1')) is False
Expand All @@ -173,72 +173,7 @@ def test_mount_point_whitelist_blacklist():


def test_all_partitions_allow_no_device():
instance = {'all_partitions': 'true', 'mount_point_blacklist': ['/run$']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(device='', mountpoint='/run')) is True
assert c.exclude_disk(MockPart(device='', mountpoint='/run/shm')) is False


def test_legacy_config():
instance = {
'excluded_filesystems': ['test', ''],
'excluded_disks': ['test1', ''],
'excluded_disk_re': 'test2',
'excluded_mountpoint_re': 'test',
}
c = Disk('disk', {}, [instance])

assert_regex_equal(c._file_system_blacklist, re.compile('iso9660$|test$', re.I))
assert_regex_equal(c._device_blacklist, re.compile('test1$|test2', IGNORE_CASE))
assert_regex_equal(c._mount_point_blacklist, re.compile('test', IGNORE_CASE))


def test_legacy_exclude_disk():
"""
Test legacy exclusion logic config
"""
instance = {
'use_mount': 'no',
'excluded_filesystems': ['aaaaaa'],
'excluded_mountpoint_re': '^/run$',
'excluded_disks': ['bbbbbb'],
'excluded_disk_re': '^tev+$',
}
c = Disk('disk', {}, [instance])

# should pass, default mock is a normal disk
assert c.exclude_disk(MockPart()) is False

# standard fake devices
assert c.exclude_disk(MockPart(device='')) is True
assert c.exclude_disk(MockPart(device='none')) is True
assert c.exclude_disk(MockPart(device='udev')) is False

# excluded filesystems list
assert c.exclude_disk(MockPart(fstype='aaaaaa')) is True
assert c.exclude_disk(MockPart(fstype='a')) is False

# excluded devices list
assert c.exclude_disk(MockPart(device='bbbbbb')) is True
assert c.exclude_disk(MockPart(device='b')) is False

# excluded devices regex
assert c.exclude_disk(MockPart(device='tevvv')) is True
assert c.exclude_disk(MockPart(device='tevvs')) is False

# and now with all_partitions
c._all_partitions = True
assert c.exclude_disk(MockPart(device='')) is False
assert c.exclude_disk(MockPart(device='none')) is False
assert c.exclude_disk(MockPart(device='udev')) is False
# excluded mountpoint regex
assert c.exclude_disk(MockPart(device='sdz', mountpoint='/run')) is True
assert c.exclude_disk(MockPart(device='sdz', mountpoint='/run/shm')) is False


def test_legacy_device_exclusion_logic_no_name():
instance = {'use_mount': 'yes', 'excluded_mountpoint_re': '^/run$', 'all_partitions': 'yes'}
instance = {'all_partitions': 'true', 'mount_point_exclude': ['/run$']}
c = Disk('disk', {}, [instance])

assert c.exclude_disk(MockPart(device='', mountpoint='/run')) is True
Expand Down
Loading

0 comments on commit 38fff62

Please sign in to comment.