code: def test_fetch_atlas_smith_2009(tmp_path, request_mocker):
      bunch = atlas.fetch_atlas_smith_2009(
          data_dir=tmp_path, verbose=0, dimension=20
      )
      assert bunch["maps"] == str(
          tmp_path / "smith_2009" / "rsn20.nii.gz"
      )
      assert len(bunch.keys()) == 2
      assert bunch.description != ""
  
      # Old code
      bunch = atlas.fetch_atlas_smith_2009(data_dir=tmp_path, verbose=0)
  
      keys = ("rsn20", "rsn10", "rsn70", "bm20", "bm10", "bm70")
      filenames = [
          "rsn20.nii.gz",
          "PNAS_Smith09_rsn10.nii.gz",
          "rsn70.nii.gz",
          "bm20.nii.gz",
          "PNAS_Smith09_bm10.nii.gz",
          "bm70.nii.gz",
      ]
  
      assert request_mocker.url_count == 6
      for key, fn in zip(keys, filenames):
          assert bunch[key] == str(tmp_path / "smith_2009" / fn)
      assert bunch.description != ""
  
imports: import itertools
  import os
  import re
  from pathlib import Path
  import nibabel
  import numpy
  import pandas
  import pytest
  from numpy.testing import assert_array_equal
  from nilearn._utils import data_gen
  from nilearn._utils.testing import serialize_niimg
  from nilearn.conftest import _rng
  from nilearn.datasets import atlas
  from nilearn.datasets._utils import fetch_files
  from nilearn.datasets.tests._testing import dict_to_archive
  from nilearn.image import get_data
label_desc: Use image node_id 10 for calling a global function with example usage: test_fetch_atlas_smith_2009(tmp_path, request_mocker) without return types