def xtest_glob_env_search_path(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file fruit/fruit.config "fruits.config" 644', 'file cheese/cheese.config "cheese.config" 644', 'file drinks/alcohol/wine.config "wine.config" 644', 'file drinks/alcohol/beer.config "beer.config" 644', 'file drinks/dairy/milk.config "milk.config" 644', 'file drinks/dairy/yogurt.config "yogurt.config" 644', 'dir nothing "" 700', ]) search_path = [ [ 'fruit' ], [ 'cheese' ], [ 'drinks', 'alcohol' ], [ 'drinks', 'dairy' ], ] search_path = [ '{}/{}'.format(tmp_dir, path.join(x)) for x in search_path ] self.assert_filename_list_equal( [ f'{tmp_dir}/cheese/cheese.config', f'{tmp_dir}/drinks/alcohol/beer.config', f'{tmp_dir}/drinks/alcohol/wine.config', f'{tmp_dir}/drinks/dairy/milk.config', f'{tmp_dir}/drinks/dairy/yogurt.config', f'{tmp_dir}/fruit/fruit.config', ], file_path.glob(search_path, '*.config') )
def _make_test_content(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file apple.txt "this is apple" 644', 'file kiwi.txt "this is kiwi" 644', 'file orange.txt "this is orange" 644', ]) return tmp_dir
def _make_temp_content(self): return temp_content.write_items_to_temp_dir([ 'file a/b/c/.testing_test_ignore "d2\n\n" 644', 'file a/b/c/d2/never.txt "this is never.txt\n" 644', 'file a/b/c/d/bar.ttt "this is bar.ttt\n" 644', 'file a/b/c/d/.testing_test_ignore "*.ttt\n" 644', 'file a/b/c/d/foo.txt "this is foo.bar\n" 644', ], delete=not self.DEBUG)
def _make_temp_configs(self): organism = '''\ organism respiration: unknown food: false ''' animal = '''\ animal extends organism respiration: aerobic food: false pet: false ''' bacteria = '''\ bacteria extends organism respiration: anaerobic ''' virus = '''\ virus extends organism respiration: parasitic ''' bird = '''\ bird extends animal blood: cold food: true ''' mammal = '''\ mammal extends animal blood: warm food: maybe ''' dog = '''\ dog extends mammal food: false pet: true shepherd extends dog food: false pet: false worker: true name: rin tin tin ''' cat = '''\ cat extends mammal food: true pet: true ''' tmp_dir = temp_content.write_items_to_temp_dir([ 'file organism.config "{}" 644'.format(organism), 'file animal.config "{}" 644'.format(animal), 'file bacteria.config "{}" 644'.format(bacteria), 'file virus.config "{}" 644'.format(virus), 'file bird.config "{}" 644'.format(bird), 'file mammal.config "{}" 644'.format(mammal), 'file dog.config "{}" 644'.format(dog), 'file cat.config "{}" 644'.format(cat), ]) return tmp_dir
def test_create_with_exclude(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file a/b/c/foo.txt "foo content" 755', 'file d/e/bar.txt "bar content" 644', 'dir baz "" 700', ]) tmp_archive = self.make_temp_file(suffix = '.zip') archiver.create(tmp_archive, tmp_dir, exclude = [ self.native_filename('d/e/bar.txt') ] ) self.assertEqual( [ 'a/b/c/foo.txt', ], archiver.members(tmp_archive) )
def test_filenames_with_brackets_tar(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file .foo/bar-[baz].ext-kiwi.apple.lemon "something" 644', ], delete = not self.DEBUG) tmp_archive = self.make_temp_file() archiver.create(tmp_archive, tmp_dir, extension = 'tar.gz') self.assertEqual( [ '.foo/bar-[baz].ext-kiwi.apple.lemon', ], archiver.members(tmp_archive) ) self.assertEqual( 'tgz', archiver.format_name(tmp_archive) ) self.assertEqual( '3fc9b689459d738f8c88a3a48aa9e33542016b7a4052e001aaa536fca74813cb', archiver.member_checksum(tmp_archive, '.foo/bar-[baz].ext-kiwi.apple.lemon') )
def test_create_force_tar_gz(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file a/b/c/foo.txt "foo content" 755', 'file d/e/bar.txt "bar content" 644', 'dir baz "" 700', ]) tmp_archive = self.make_temp_file() archiver.create(tmp_archive, tmp_dir, extension = 'tar.gz') self.assertEqual( [ 'a/b/c/foo.txt', 'd/e/bar.txt', ], archiver.members(tmp_archive) ) self.assertEqual( 'tgz', archiver.format_name(tmp_archive) )
def test_create_zip(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file a/b/c/foo.txt "foo content" 755', 'file d/e/bar.txt "bar content" 644', 'dir baz "" 700', ]) tmp_archive = self.make_temp_file(suffix = '.zip') archiver.create(tmp_archive, tmp_dir) self.assertEqual( [ 'a/b/c/foo.txt', 'd/e/bar.txt', ], archiver.members(tmp_archive) ) self.assertEqual( 'zip', archiver.format_name(tmp_archive) )
def test_glob(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file fruit/fruit.config "fruits.config" 644', 'file cheese/cheese.config "cheese.config" 644', 'file drinks/alcohol/wine.config "wine.config" 644', 'file drinks/alcohol/beer.config "beer.config" 644', 'file drinks/dairy/milk.config "milk.config" 644', 'file drinks/dairy/yogurt.config "yogurt.config" 644', 'dir nothing "" 700', ]) self.assert_filename_list_equal( [ f'{tmp_dir}/drinks/alcohol/beer.config', f'{tmp_dir}/drinks/alcohol/wine.config', ], file_path.glob(path.join(tmp_dir, 'drinks/alcohol'), '*.config') )
def test_transform(self): tmp_dir = temp_content.write_items_to_temp_dir([ 'file files/foo.txt "this is foo.txt" 644', 'file files/bar.txt "this is bar.txt" 644', 'file files/baz.txt "this is baz.txt" 644', ], delete = not self.DEBUG) tmp_archive = self.make_temp_file(suffix = '.zip') archiver.create(tmp_archive, tmp_dir) from bes.archive.archive_operation_add_file import archive_operation_add_file from bes.archive.archive_operation_remove_files import archive_operation_remove_files operations = [ archive_operation_add_file('new/new_file.txt', 'this is new_file.txt', 0o0644), archive_operation_remove_files([ 'files/foo.txt', 'files/bar.txt' ]), ] archiver.transform(tmp_archive, operations) self.assertEqual( [ 'files/baz.txt', 'new/new_file.txt', ], archiver.members(tmp_archive) ) self.assertEqual( 'this is new_file.txt', archiver.extract_member_to_string(tmp_archive, 'new/new_file.txt', codec = 'utf8') )
def _make_temp_content(clazz, items): return temp_content.write_items_to_temp_dir(items, delete=not clazz.DEBUG)
def __init__(self, fixture, items=None): self.local_root_dir = temp_content.write_items_to_temp_dir( items, delete=not fixture.DEBUG) fs = vfs_local('<unittest>', self.local_root_dir) super(_vfs_local_tester, self).__init__(fs)
def _make_temp_content(self, items): return temp_content.write_items_to_temp_dir(items, delete = not self.DEBUG)