code: def test_local_manager_with_fetch(
      version_asset_name,
      version_1,
      version_2,
      versioning,
      working_dir,
      monkeypatch,
  ):
      if versioning:
          monkeypatch.setenv(
              "MODELKIT_ASSETS_VERSIONING_SYSTEM", versioning
          )
  
      manager = AssetsManager(
          assets_dir=working_dir,
          storage_provider=StorageProvider(
              provider="local",
              bucket=os.path.join(TEST_DIR, "testdata", "test-bucket"),
              prefix="assets-prefix",
          ),
      )
  
      res = manager.fetch_asset(
          f"category/{version_asset_name}:{version_1}", return_info=True
      )
      assert res["path"] == os.path.join(
          working_dir, "category", version_asset_name, version_1
      )
  
      res = manager.fetch_asset(
          f"category/{version_asset_name}", return_info=True
      )
      assert res["path"] == os.path.join(
          working_dir, "category", version_asset_name, version_2
      )
  
      if versioning in ["major_minor", None]:
          res = manager.fetch_asset(
              f"category/{version_asset_name}:0", return_info=True
          )
          assert res["path"] == os.path.join(
              working_dir, "category", version_asset_name, "0.1"
          )
  
file_path: modelkit/tests/assets/test_local_manager.py
imports: import os
  import shutil
  import stat
  import pytest
  from modelkit.assets import errors
  from modelkit.assets.manager import AssetsManager, _fetch_local_version
  from modelkit.assets.remote import StorageProvider
  from modelkit.assets.settings import AssetSpec
  from tests import TEST_DIR
  from tests.assets.test_versioning import test_versioning
label_desc: Use image node_id 3 for calling a global function with example usage: test_local_manager_with_fetch(version_asset_name, version_1, version_2, versioning, working_dir, monkeypatch) without return types