code: def test_execute(self, mock_hook):
      CopyFromExternalStageToSnowflakeOperator(
          table="table",
          file_format="CSV",
          stage="stage",
          prefix="prefix",
          columns_array=["col1, col2"],
          files=["file1.csv", "file2.csv"],
          pattern="*.csv",
          warehouse="warehouse",
          database="database",
          role="role",
          schema="schema",
          authenticator="authenticator",
          copy_options="copy_options",
          validation_mode="validation_mode",
          task_id="test",
      ).execute(None)
  
      mock_hook.assert_called_once_with(
          snowflake_conn_id="snowflake_default",
          warehouse="warehouse",
          database="database",
          role="role",
          schema="schema",
          authenticator="authenticator",
          session_parameters=None,
      )
  
      sql = """
          COPY INTO schema.table(col1, col2)
               FROM  @stage/prefix
          FILES=('file1.csv','file2.csv')
          PATTERN='*.csv'
          FILE_FORMAT=CSV
          copy_options
          validation_mode
          """
  
      mock_hook.return_value.run.assert_called_once_with(
          sql=sql,
          autocommit=True,
          return_dictionaries=True,
          handler=mock.ANY,
      )
  
      handler = mock_hook.return_value.run.mock_calls[0].kwargs.get(
          "handler"
      )
      assert isinstance(handler, Callable)
  
file_path: airflow/tests/providers/snowflake/transfers/test_copy_into_snowflake.py
imports: from __future__ import annotations
  from typing import Callable
  from unittest import mock
  from openlineage.client.facet import ExternalQueryRunFacet, ExtractionError, ExtractionErrorRunFacet, SqlJobFacet
  from openlineage.client.run import Dataset
  from pytest import mark
  from airflow.providers.openlineage.extractors import OperatorLineage
  from airflow.providers.openlineage.sqlparser import DatabaseInfo
  from airflow.providers.snowflake.transfers.copy_into_snowflake import CopyFromExternalStageToSnowflakeOperator
label_desc: Use image node_id 1 for calling the TestCopyFromExternalStageToSnowflake obj's underlying member method code with example usage: obj.test_execute(mock_hook) without return types