class_docstr: Test VIIRS SDR downloading.
class_docstr_tok: ["Test","VIIRS","SDR","downloading","."]
docstr: Test downloading VIIRS SDR data.
docstr_tok: ["Test","downloading","VIIRS","SDR","data","."]
code: def test_download(self, requests, tmpdir):
      """Test downloading VIIRS SDR data."""
      from satpy.demo import get_viirs_sdr_20170128_1229
  
      requests.get.side_effect = _FakeRequest
      with mock_filesystem():
          files = get_viirs_sdr_20170128_1229(base_dir=str(tmpdir))
          assert len(files) == 10 * (
              16 + 5 + 1 + 3
          )  # 10 granules * (5 I bands + 16 M bands + 1 DNB + 3 geolocation)
          self._assert_bands_in_filenames_and_contents(
              self.ALL_BAND_PREFIXES + self.ALL_GEO_PREFIXES, files, 10
          )
  
imports: from __future__ import annotations
  import contextlib
  import io
  import os
  import sys
  import tarfile
  import unittest
  from collections import defaultdict
  from unittest import mock
  import pytest
label_desc: Use image node_id 1 for calling the TestVIIRSSDRDemoDownload obj's underlying member method code with example usage: obj.test_download(requests, tmpdir) without return types