def setUpClass(cls): test_init_dir = os.path.join(get_dir_of_file(__file__), 'data') test_files = { 'systemd': 'etc/systemd/system/foobar', 'inittab': 'etc/inittab', 'rclocal': 'etc/rc.local', 'upstart': 'etc/init/baz.conf', 'runit': 'etc/service/lighttpd/run', 'runit_symlink': 'etc/service/example/run', 'runit_origin': 'etc/sv/example/run', 'only_comments': 'etc/inittab.invalid', 'initd': 'etc/init.d/skeleton', 'README': 'etc/init.d/README', 'initscript': 'etc/initscript' } for test_file, path in test_files.items(): test_fo = FileObject(file_path=os.path.join(test_init_dir, path)) setattr(cls, 'test_file_{}'.format(test_file), test_fo) test_fo.processed_analysis['file_type'] = {'mime': 'text/plain'} test_fo.root_uid = test_fo.uid test_fo.virtual_file_path = {test_fo.get_root_uid(): [path]} cls.test_file_not_text = FileObject( file_path='{}etc/systemd/system/foobar'.format(test_init_dir)) cls.test_file_not_text.processed_analysis['file_type'] = { 'mime': 'application/zip' }
def test_get_one_virtual_path(self): fo = FileObject(binary=b'foo') self.assertEqual(fo.get_virtual_paths_for_one_uid(), [fo.get_uid()], 'No Path set should be uid') fo.virtual_file_path = {'uid_a': ['test_file_path_a'], 'uid_b': ['test_file_path_b'], 'uid_c': ['test_file_path_c']} self.assertEqual(fo.get_virtual_paths_for_one_uid(), ['test_file_path_a']) self.assertEqual(fo.get_virtual_paths_for_one_uid(root_uid='uid_b'), ['test_file_path_b']) fo.root_uid = 'uid_c' self.assertEqual(fo.get_virtual_paths_for_one_uid(), ['test_file_path_c'])
def test_get_one_virtual_path(self): fo = FileObject(binary=b'foo') assert fo.get_virtual_paths_for_one_uid() == [fo.uid], 'No Path set should be uid' fo.virtual_file_path = {'uid_a': ['test_file_path_a'], 'uid_b': ['test_file_path_b'], 'uid_c': ['test_file_path_c']} assert fo.get_virtual_paths_for_one_uid() == ['test_file_path_a'] assert fo.get_virtual_paths_for_one_uid(root_uid='uid_b') == ['test_file_path_b'] fo.root_uid = 'uid_c' assert fo.get_virtual_paths_for_one_uid() == ['test_file_path_c']