code: def _mock_and_create_dem_file(tmpdir, url, var_name, fill_value=None):
      if not url:
          yield None
          return
  
      rmock_obj, dem_fn = _mock_dem_retrieve(tmpdir, url)
      _create_fake_dem_file(dem_fn, var_name, fill_value)
  
      try:
          yield rmock_obj
      finally:
          rmock_obj.stop()
  
imports: from contextlib import contextmanager
  from datetime import datetime
  from unittest import mock
  import numpy
  import pytest
  import xarray
  from dask import array
  from pyresample.geometry import AreaDefinition
  from satpy.tests.utils import assert_maximum_dask_computes
label_desc: Use image node_id 3 for calling a global function with example usage: _mock_and_create_dem_file(tmpdir, url, var_name, fill_value) without return types