code: def test_download_product_nodes(api, tmpdir, node_test_products):
      uuid = node_test_products[0]["id"]
      product_dir = node_test_products[0]["title"] + ".SAFE"
      expected_path = tmpdir.join(product_dir)
  
      nodefilter = make_path_filter("*preview/*.kml")
      product_info = api.download(
          uuid, str(tmpdir), checksum=True, nodefilter=nodefilter
      )
  
      assert os.path.normpath(product_info["node_path"]) == product_dir
      assert expected_path.exists()
  
      assert set(product_info["nodes"]) == {
          "./manifest.safe",
          "preview/map-overlay.kml",
      }
  
      assert tmpdir.join(product_dir, "manifest.safe").check()
      assert tmpdir.join(
          product_dir, "preview", "map-overlay.kml"
      ).check()
  
      assert not tmpdir.join(
          product_dir, "manifest.safe" + ".incomplete"
      ).check()
      assert not tmpdir.join(
          product_dir, "preview", "map-overlay.kml" + ".incomplete"
      ).check()
  
      tmpdir.remove()
  
imports: import os
  import shutil
  import py.path
  import pytest
  import requests_mock
  from flaky import flaky
  from sentinelsat import SentinelAPI, make_path_filter
  from sentinelsat.exceptions import InvalidChecksumError, InvalidKeyError, LTAError, ServerError
label_desc: Use image node_id 15 for calling a global function with example usage: test_download_product_nodes(api, tmpdir, node_test_products) without return types