Ejemplo n.º 1
0
 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') )
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
 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) )
Ejemplo n.º 6
0
 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') )
Ejemplo n.º 7
0
 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) )
Ejemplo n.º 8
0
 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) )
Ejemplo n.º 9
0
 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') )
Ejemplo n.º 10
0
  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') )
Ejemplo n.º 11
0
 def _make_temp_content(clazz, items):
     return temp_content.write_items_to_temp_dir(items,
                                                 delete=not clazz.DEBUG)
Ejemplo n.º 12
0
 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)
Ejemplo n.º 13
0
 def _make_temp_content(self, items):
   return temp_content.write_items_to_temp_dir(items, delete = not self.DEBUG)