Unlike all other Snowflake operators, S3ToSnowflakeTransfer requires the usage of schema instead of letting it be an optional variable that when passed would be used, and if not, then connection metadata is used. 

I can be assigned on this if needed. Keeping this up here so this doesn't go unnoticed. 
tests/providers/snowflake/transfers/test_s3_to_snowflake.py
#
#
#
from unittest import mock
import pytest
from airflow.providers.snowflake.transfers.s3_to_snowflake import S3ToSnowflakeOperator
class TestS3ToSnowflakeTransfer:
    @pytest.mark.parametrize("columns_array", [None, ['col1', 'col2', 'col3']])
    @pytest.mark.parametrize("s3_keys", [None, ['1.csv', '2.csv']])
    @pytest.mark.parametrize("prefix", [None, 'prefix'])
    @mock.patch("airflow.providers.snowflake.hooks.snowflake.SnowflakeHook.run")
    def test_execute(self, mock_run, prefix, s3_keys, columns_array):
        table = 'table'
        stage = 'stage'
        file_format = 'file_format'