code: def test_meta_desc_is_preserved(tmp_dir, dvc):
      data = {
          "desc": "stage desc",
          "meta": {"key1": "value1", "key2": "value2"},
          "outs": [
              {
                  "md5": "d3b07384d113edec49eaa6238ad5ff00",
                  "size": 4,
                  "hash": "md5",
                  "path": "foo",
                  "desc": "foo desc",
                  "type": "mytype",
                  "labels": ["get-started", "dataset-registry"],
                  "meta": {"key": "value"},
              }
          ],
      }
      (tmp_dir / "foo.dvc").dump(data)
      stage = dvc.stage.load_one("foo.dvc")
  
      assert stage.meta == {"key1": "value1", "key2": "value2"}
      assert stage.desc == "stage desc"
      assert stage.outs[0].annot == Annotation(
          desc="foo desc",
          type="mytype",
          labels=["get-started", "dataset-registry"],
          meta={"key": "value"},
      )
  
      # sanity check
      stage.dump()
      assert (tmp_dir / "foo.dvc").parse() == data
  
imports: import os
  import pytest
  from dvc.annotations import Annotation
  from dvc.dvcfile import SingleStageFile
  from dvc.exceptions import OutputDuplicationError
  from dvc.fs import LocalFileSystem
  from dvc.output import Output
  from dvc.repo import Repo
  from dvc.stage import PipelineStage, Stage
  from dvc.stage.utils import compute_md5
  from dvc.utils import dict_md5
  from dvc.utils.serialize import dump_yaml, load_yaml
  from dvc.utils.strictyaml import YAMLValidationError
label_desc: Use image node_id 13 for calling a global function with example usage: test_meta_desc_is_preserved(tmp_dir, dvc) without return types