code: def test_update_no_download(
      tmp_dir, dvc, erepo_dir, outs_exist, mocker
  ):
      with erepo_dir.chdir():
          erepo_dir.dvc_gen("file", "file content", commit="add file")
          initial_rev = erepo_dir.scm.get_rev()
  
      stage = dvc.imp(
          os.fspath(erepo_dir), "file", no_download=not outs_exist
      )
  
      assert stage.deps[0].def_repo["rev_lock"] == initial_rev
  
      dst = tmp_dir / "file"
      assert dst.exists() is outs_exist
  
      with erepo_dir.chdir():
          erepo_dir.dvc_gen(
              "file", "updated file content", commit="update file"
          )
          new_rev = erepo_dir.scm.get_rev()
  
      updated_stage = dvc.update(
          [stage.path], rev=new_rev, no_download=True
      )[0]
      assert not dst.exists()
  
      assert updated_stage.deps[0].def_repo["rev_lock"] == new_rev
  
      # output must have no information since no_download=True
      out = updated_stage.outs[0]
      assert out.hash_info.value is None
      assert out.meta.size is None
  
imports: import os
  import pytest
  from dvc.dependency import base
  from dvc.dvcfile import load_file
  from dvc.exceptions import InvalidArgumentError
  from dvc.testing.tmp_dir import make_subrepo
label_desc: Use image node_id 5 for calling a global function with example usage: test_update_no_download(tmp_dir, dvc, erepo_dir, outs_exist, mocker) without return types