Пример #1
0
 def test_rename_illegal(self):
   """Test that illegally named files are renamed."""
   legally_named = corpus_manager.legalize_filenames([self.FILE_PATH])
   self.assertEqual([os.path.join(self.DIRECTORY, self.FILE_SHA1SUM)],
                    [file_path for file_path in legally_named])
   with open(os.path.join(self.DIRECTORY, self.FILE_SHA1SUM)) as file_handle:
     self.assertEqual(self.FILE_CONTENTS, file_handle.read())
Пример #2
0
 def test_does_not_rename_legal(self):
     """Test that legally named files are not renamed."""
     new_file_path_1 = os.path.join(self.DIRECTORY, 'new_file')
     os.rename(self.FILE_PATH, new_file_path_1)
     initial_files = os.listdir(self.DIRECTORY)
     new_file_path_2 = '/other_new_file'
     initial_files.append(new_file_path_2)
     legal_files = corpus_manager.legalize_filenames(initial_files)
     self.assertEqual(initial_files, legal_files)
     with open(new_file_path_1) as file_handle:
         self.assertEqual(self.FILE_CONTENTS, file_handle.read())
Пример #3
0
  def test_logs_errors(self):
    """Test that errors are logged when we fail to rename a file."""
    test_helpers.patch(self, ['shutil.move', 'metrics.logs.log_error'])

    def mock_move(*args, **kwargs):  # pylint: disable=unused-argument
      raise OSError

    self.mock.move.side_effect = mock_move
    legal_files = corpus_manager.legalize_filenames([self.FILE_PATH])
    self.assertEqual([], legal_files)
    failed_to_move_files = [(self.FILE_PATH,
                             os.path.join(self.DIRECTORY, self.FILE_SHA1SUM))]

    self.mock.log_error.assert_called_with(
        'Failed to rename files.', failed_to_move_files=failed_to_move_files)