code: def run_workflow(
      self, test_name, tmp_path, deployment_method=frozenset()
  ):
      test_path = Path(__file__).parent / "testcases" / test_name
      if self.omit_tmp:
          tmp_path = test_path
      else:
          tmp_path = Path(tmp_path) / test_name
          self._copy_test_files(test_path, tmp_path)
  
      if self._common_settings().local_exec:
          cores = 3
          nodes = None
      else:
          cores = 1
          nodes = 3
  
      with api.SnakemakeApi(
          settings.OutputSettings(
              verbose=True,
              show_failed_logs=True,
          ),
      ) as snakemake_api:
          workflow_api = snakemake_api.workflow(
              resource_settings=settings.ResourceSettings(
                  cores=cores,
                  nodes=nodes,
              ),
              storage_settings=settings.StorageSettings(
                  default_storage_provider=self.get_default_storage_provider(),
                  default_storage_prefix=self.get_default_storage_prefix(),
                  shared_fs_usage=settings.SharedFSUsage.all()
                  if self.get_assume_shared_fs()
                  else frozenset(),
              ),
              deployment_settings=self.get_deployment_settings(
                  deployment_method
              ),
              storage_provider_settings=self.get_default_storage_provider_settings(),
              workdir=Path(tmp_path),
              snakefile=tmp_path / "Snakefile",
          )
  
          dag_api = workflow_api.dag()
  
          dag_api.execute_workflow(
              executor=self.get_executor(),
              executor_settings=self.get_executor_settings(),
              execution_settings=settings.ExecutionSettings(
                  latency_wait=self.latency_wait,
              ),
              remote_execution_settings=self.get_remote_execution_settings(),
          )
  
imports: from abc import ABC, abstractmethod
  from pathlib import Path
  import shutil
  from typing import List, Mapping, Optional
  import uuid
  import pytest
  from snakemake import api, settings
  from snakemake_interface_common.utils import lazy_property
  from snakemake_interface_common.plugin_registry.plugin import TaggedSettings
  from snakemake_interface_executor_plugins.settings import ExecutorSettingsBase
  from snakemake_interface_executor_plugins.registry import ExecutorPluginRegistry
  from snakemake_interface_storage_plugins.settings import StorageProviderSettingsBase
label_desc: Use image node_id 11 for calling the TestWorkflowsBase obj's underlying member method code with example usage: obj.run_workflow(test_name, tmp_path, deployment_method) without return types