예제 #1
0
 def test_hard_link_or_raise_exception(self):
     with temporary_directory_context():
         with fopen('src', 'w'):
             pass
         with self.assertRaises(FileAlreadyExists):
             hard_link_or_raise_exception('src', '.')
         hard_link_or_raise_exception('src', 'dst')
         with self.assertRaises(FileAlreadyExists):
             hard_link_or_raise_exception('src', 'dst')
예제 #2
0
 def temporary_base_directory_context(self):
     from infi.app_repo.utils import temporary_directory_context
     with patch("infi.app_repo.config.get_base_directory") as get_base_directory:
         with temporary_directory_context() as tempdir:
             from infi.app_repo.config import Configuration
             get_base_directory.return_value = tempdir
             previous_base_directory = Configuration.base_directory.default
             Configuration.base_directory._default = tempdir
             try:
                 yield tempdir
             finally:
                 Configuration.base_directory._default = previous_base_directory
예제 #3
0
 def temporary_base_directory_context(self):
     from infi.app_repo.utils import temporary_directory_context
     with patch("infi.app_repo.config.get_base_directory"
                ) as get_base_directory:
         with temporary_directory_context() as tempdir:
             from infi.app_repo.config import Configuration
             get_base_directory.return_value = tempdir
             previous_base_directory = Configuration.base_directory.default
             Configuration.base_directory._default = tempdir
             try:
                 yield tempdir
             finally:
                 Configuration.base_directory._default = previous_base_directory
예제 #4
0
 def consume_file(self, filepath, platform, arch):
     from infi.app_repo.utils import sign_deb_package
     distribution_name, codename = platform.rsplit('-', 1)
     dirpath = self.deduce_dirname(distribution_name, codename, arch)
     hard_link_or_raise_exception(filepath, dirpath)
     sign_deb_package(filepath)
     with temporary_directory_context() as tempdir:
         hard_link_or_raise_exception(filepath, tempdir)
         contents = dpkg_scanpackages(['--multiversion', tempdir, '/dev/null'])
         relapath = dirpath.replace(path.join(self.base_directory, distribution_name), '').strip(path.sep)
         fixed_contents = contents.replace(tempdir, relapath)
         write_to_packages_file(dirpath, fixed_contents, 'a')
     self.generate_release_file_for_specific_distribution_and_version(distribution_name, codename)
예제 #5
0
 def setUp(self):
     tempdir_context = utils.temporary_directory_context()
     self.tempdir = tempdir_context.__enter__()
     self.config = Munch(packages_directory=self.tempdir)
     self.addCleanup(tempdir_context.__exit__, None, None, None)
예제 #6
0
 def setUp(self):
     tempdir_context = utils.temporary_directory_context()
     self.tempdir = tempdir_context.__enter__()
     self.config = Munch(packages_directory=self.tempdir)
     self.addCleanup(tempdir_context.__exit__, None, None, None)