code: def test_hook_should_support_prepare_basic_conn_params_and_uri(
      self, connection_kwargs, expected_uri, expected_conn_params
  ):
      with mock.patch.dict(
          "os.environ",
          AIRFLOW_CONN_TEST_CONN=Connection(
              **connection_kwargs
          ).get_uri(),
      ):
          assert (
              SnowflakeHook(snowflake_conn_id="test_conn").get_uri()
              == expected_uri
          )
          assert (
              SnowflakeHook(
                  snowflake_conn_id="test_conn"
              )._get_conn_params()
              == expected_conn_params
          )
  
imports: from __future__ import annotations
  import json
  from copy import deepcopy
  from typing import TYPE_CHECKING, Any
  from unittest import mock
  import pytest
  from cryptography.hazmat.backends import default_backend
  from cryptography.hazmat.primitives import serialization
  from cryptography.hazmat.primitives.asymmetric import rsa
  from airflow.models import Connection
  from airflow.providers.snowflake.hooks.snowflake import SnowflakeHook
label_desc: Use image node_id 1 for calling the TestPytestSnowflakeHook obj's underlying member method code with example usage: obj.test_hook_should_support_prepare_basic_conn_params_and_uri(connection_kwargs, expected_uri, expected_conn_params) without return types