def tearDownModule(): # tearDownModule() is called after all the tests have run. # http://docs.python.org/2/library/unittest.html#class-and-module-fixtures setup.remove_all_repositories(TestUpdater.repositories['main_repository']) unittest_toolbox.Modified_TestCase.clear_toolbox() tuf.download.safe_download = original_safe_download tuf.download.unsafe_download = original_unsafe_download
def test__init__exceptions(self): # Setup: # Create an empty repository structure for client. repo_dir = self.make_temp_directory() # Config patch. The repository directory must be configured in 'tuf.conf'. tuf.conf.repository_directory = repo_dir # Test: empty repository. self.assertRaises(tuf.RepositoryError, updater.Updater, 'Repo_Name', self.mirrors) # Test: empty repository with {repository_dir}/metadata directory. meta_dir = os.path.join(repo_dir, 'metadata') os.mkdir(meta_dir) self.assertRaises(tuf.RepositoryError, updater.Updater, 'Repo_Name', self.mirrors) # Test: empty repository with {repository_dir}/metadata/current directory. current_dir = os.path.join(meta_dir, 'current') os.mkdir(current_dir) self.assertRaises(tuf.RepositoryError, updater.Updater, 'Repo_Name', self.mirrors) # Test: normal case. repositories = setup.create_repositories() client_repo_dir = repositories['client_repository'] tuf.conf.repository_directory = client_repo_dir updater.Updater('Repo_Name', self.mirrors) # Test: case w/ only root metadata file present in the current dir. client_current_dir = os.path.join(client_repo_dir, 'metadata', 'current') for directory, junk, role_list in os.walk(client_current_dir): for role_filepath in role_list: role_filepath = os.path.join(directory, role_filepath) if role_filepath.endswith('root.txt'): continue os.remove(role_filepath) updater.Updater('Repo_Name', self.mirrors) # Remove all created repositories and roles. setup.remove_all_repositories(repositories['main_repository']) tuf.roledb.clear_roledb()
def test__init__exceptions(self): # Setup: # Create an empty repository structure for client. repo_dir = self.make_temp_directory() # Config patch. The repository directory must be configured in 'tuf.conf'. tuf.conf.repository_directory = repo_dir # Test: empty repository. self.assertRaises(tuf.RepositoryError, updater.Updater, 'Repo_Name', self.mirrors) # Test: empty repository with {repository_dir}/metadata directory. meta_dir = os.path.join(repo_dir, 'metadata') os.mkdir(meta_dir) self.assertRaises(tuf.RepositoryError, updater.Updater, 'Repo_Name', self.mirrors) # Test: empty repository with {repository_dir}/metadata/current directory. current_dir = os.path.join(meta_dir, 'current') os.mkdir(current_dir) self.assertRaises(tuf.RepositoryError, updater.Updater, 'Repo_Name', self.mirrors) # Test: normal case. repositories = setup.create_repositories() client_repo_dir = repositories['client_repository'] tuf.conf.repository_directory = client_repo_dir updater.Updater('Repo_Name', self.mirrors) # Test: case w/ only root metadata file present in the current dir. client_current_dir = os.path.join(client_repo_dir, 'metadata', 'current') for directory, junk, role_list in os.walk(client_current_dir): for role_filepath in role_list: role_filepath = os.path.join(directory, role_filepath) if role_filepath.endswith('root.txt'): continue os.remove(role_filepath) updater.Updater('Repo_Name', self.mirrors) # Remove all created repositories. setup.remove_all_repositories(repositories['main_repository'])
self.assertTrue(os.path.join(dest_dir), target_rel_paths_src[1]) self.assertTrue(os.path.join(dest_dir), target_rel_paths_src[2]) # Verify that if there are no obsolete files, the number of files, # in the 'dest_dir' remains the same. self.Repository.remove_obsolete_targets(dest_dir) self.assertTrue(os.listdir(dest_dir), 2) # RESTORE tuf.download.download_url_to_tempfileobj = original_download # Run all unit tests. loader = unittest_toolbox.unittest.TestLoader() suite = unittest_toolbox.unittest.TestSuite() class1_tests = loader.loadTestsFromTestCase(TestUpdater_init_) class2_tests = loader.loadTestsFromTestCase(TestUpdater) suite.addTest(class1_tests) suite.addTest(class2_tests) try: unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) finally: # Removing repositories. setup.remove_all_repositories(TestUpdater.repositories['main_repository']) unittest_toolbox.Modified_TestCase.clear_toolbox()
def tearDownModule(): setup.remove_all_repositories(TestUpdater.repositories['main_repository']) unittest_toolbox.Modified_TestCase.clear_toolbox()