code: def test_remote_missing_deps_are_correctly_reported(
      tmp_dir, caplog, mocker, pkg, msg
  ):
      error = RemoteMissingDepsError(
          FileSystem(), "proto", "proto://", ["deps"]
      )
      mocker.patch("dvc.PKG", pkg)
      mocker.patch(
          "dvc.cli.parse_args",
          return_value=Namespace(
              func=raiser(error),
              quiet=False,
              verbose=True,
          ),
      )
  
      assert main() == 255
      expected = (
          "URL 'proto://' is supported but requires these missing dependencies: "
          "['deps']. "
      )
      if pkg:
          expected += (
              "To install dvc with those dependencies, run:\n\n"
              f"\t{msg}\n\n"
              "See <https://dvc.org/doc/install> for more info."
          )
      else:
          expected += (
              "\nPlease report this bug to "
              "<https://github.com/iterative/dvc/issues>. "
              "Thank you!"
          )
      assert expected in caplog.text
  
file_path: dvc/tests/unit/cli/test_main.py
imports: from argparse import Namespace
  import pytest
  from funcy import raiser
  from dvc.cli import main
  from dvc_data.hashfile.build import IgnoreInCollectedDirError
  from dvc_data.hashfile.cache import DiskError
  from dvc_objects.fs.base import FileSystem, RemoteMissingDepsError
label_desc: Use image node_id 2 for calling a global function with example usage: test_remote_missing_deps_are_correctly_reported(tmp_dir, caplog, mocker, pkg, msg) without return types