示例#1
0
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
示例#2
0
    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()
示例#3
0
  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'])
示例#4
0
    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()
示例#5
0
def tearDownModule():
  setup.remove_all_repositories(TestUpdater.repositories['main_repository'])
  unittest_toolbox.Modified_TestCase.clear_toolbox()