code: def test__write_local_data_files_csv_does_not_write_on_empty_rows(
      self,
  ):
      op = DummySQLToGCSOperator(
          sql=SQL,
          bucket=BUCKET,
          filename=FILENAME,
          task_id=TASK_ID,
          schema_filename=SCHEMA_FILE,
          export_format="csv",
          gzip=False,
          schema=SCHEMA,
          gcp_conn_id="google_cloud_default",
      )
      cursor = MagicMock()
      cursor.__iter__.return_value = EMPTY_INPUT_DATA
      cursor.description = CURSOR_DESCRIPTION
  
      files = op._write_local_data_files(cursor)
      # Raises StopIteration when next is called because generator returns no files
      with pytest.raises(StopIteration):
          next(files)
  
imports: from __future__ import annotations
  import json
  from unittest import mock
  from unittest.mock import MagicMock, Mock
  import pandas
  import pytest
  from airflow.providers.google.cloud.hooks.gcs import GCSHook
  from airflow.providers.google.cloud.transfers.sql_to_gcs import BaseSQLToGCSOperator
label_desc: Use image node_id 8 for calling the TestBaseSQLToGCSOperator obj's underlying member method code with example usage: obj.test__write_local_data_files_csv_does_not_write_on_empty_rows() without return types