def test_removal_of_updates_with_unknown_object_exception(self):
        def mock_delete(unused_self):
            raise github.UnknownObjectException(status='', data='')

        delete_swap = self.swap(github.GitRef.GitRef, 'delete', mock_delete)
        with self.run_cmd_swap, self.get_git_ref_swap, delete_swap:
            update_changelog_and_credits.remove_updates_and_delete_branch(
                self.mock_repo, 'target_branch')
    def test_removal_of_updates_with_no_exception(self):
        def mock_delete(unused_self):
            pass

        delete_swap = self.swap(github.GitRef.GitRef, 'delete', mock_delete)
        with self.run_cmd_swap, self.get_git_ref_swap, delete_swap:
            update_changelog_and_credits.remove_updates_and_delete_branch(
                self.mock_repo, 'target_branch')
    def test_removal_of_updates_with_valid_exception(self):
        def mock_delete(unused_self):
            raise Exception('Error')

        delete_swap = self.swap(github.GitRef.GitRef, 'delete', mock_delete)
        with self.run_cmd_swap, self.get_git_ref_swap, delete_swap:
            with self.assertRaisesRegexp(
                    Exception,
                ('Please ensure that target_branch branch is deleted before '
                 're-running the script')):
                update_changelog_and_credits.remove_updates_and_delete_branch(
                    self.mock_repo, 'target_branch')