code: def test_save_label(self, dicom_web_download_series, dwc):
      dicom_web_download_series.return_value = lambda *args: None
  
      cache_path = os.path.join(self.data_dir, md5_digest(self.studies))
      dwc.return_value.base_url = self.studies
      dwc.return_value.search_for_series = (
          lambda **kwargs: search_for_series(self.data_dir, **kwargs)
      )
      dwc.return_value.retrieve_series_metadata = (
          lambda *args, **kwargs: retrieve_series_metadata(
              self.data_dir, *args, **kwargs
          )
      )
      dwc.return_value.load_json_dataset = (
          lambda *args, **kwargs: retrieve_series(
              cache_path, *args, **kwargs
          )
      )
  
      image_id = "1.2.826.0.1.3680043.8.274.1.1.8323329.686405.1629744173.656721"
      image_file = os.path.join(self.data_dir, f"{image_id}.nii.gz")
  
      test_tag = "test"
      with open(
          os.path.join(
              self.data_dir, "labels_to_upload", f"{image_id}.nii.gz"
          ),
          "rb",
      ) as f:
          response = self.client.put(
              f"/datastore/label?image={image_id}&tag={test_tag}",
              files={"label": (image_file, f)},
          )
          self.assertEqual(response.status_code, 200)
          res = response.json()
          self.assertEqual(res["image"], image_id)
          self.assertEqual(res["label"], image_id)
  
      response = self.client.get("/datastore/?output=stats")
      self.assertEqual(response.status_code, 200)
      res = response.json()
      label_tags = res["label_tags"]
      self.assertEqual(label_tags[test_tag], 1)
  
file_path: MONAILabel/tests/unit/endpoints/test_dicomwebcache.py
imports: import json
  import os
  import unittest
  from typing import Dict
  from unittest.mock import patch
  import pydicom
  from monailabel.datastore.dicom import DICOMWebDatastore
  from monailabel.utils.others.generic import md5_digest
  from .context import DICOMWebEndpointTestSuite
label_desc: Use image node_id 4 for calling the EndPointDICOMWebDatastore obj's underlying member method code with example usage: obj.test_save_label(dicom_web_download_series, dwc) without return types