code: def test_preserve_docinfo(output_type, resources, outpdf):
      output = check_ocrmypdf(
          resources / "graph.pdf",
          outpdf,
          "--output-type",
          output_type,
          "--plugin",
          "tests/plugins/tesseract_noop.py",
      )
      with pikepdf.open(
          resources / "graph.pdf"
      ) as pdf_before, pikepdf.open(output) as pdf_after:
          for key in ("/Title", "/Author"):
              assert pdf_before.docinfo[key] == pdf_after.docinfo[key]
          pdfa_info = file_claims_pdfa(str(output))
          assert pdfa_info["output"] == output_type
  
imports: from __future__ import annotations
  import datetime
  import warnings
  from datetime import timezone
  from shutil import copyfile
  import pikepdf
  import pytest
  from packaging.version import Version
  from pikepdf.models.metadata import decode_pdf_date
  from ocrmypdf._exec import ghostscript
  from ocrmypdf._jobcontext import PdfContext
  from ocrmypdf._metadata import metadata_fixup
  from ocrmypdf._pipeline import convert_to_pdfa
  from ocrmypdf._plugin_manager import get_parser_options_plugins, get_plugin_manager
  from ocrmypdf.exceptions import ExitCode
  from ocrmypdf.pdfa import file_claims_pdfa, generate_pdfa_ps
  from ocrmypdf.pdfinfo import PdfInfo
  from .conftest import check_ocrmypdf, run_ocrmypdf, run_ocrmypdf_api
label_desc: Use image node_id 1 for calling a global function with example usage: test_preserve_docinfo(output_type, resources, outpdf) without return types