docstr: Test that the dependencies of first party connections aren't transitively
  imported just by importing the connection_factory function.
code: def test_optional_dependencies_not_imported(self):
      """Test that the dependencies of first party connections aren't transitively
      imported just by importing the connection_factory function.
      """
  
      DISALLOWED_IMPORTS = ["sqlalchemy"]
  
      modules = list(sys.modules.keys())
  
      for m in modules:
          for disallowed_import in DISALLOWED_IMPORTS:
              assert disallowed_import not in m
  
imports: import os
  import sys
  import threading
  import unittest
  from unittest.mock import MagicMock, mock_open, patch
  import pytest
  from parameterized import parameterized
  from streamlit.connections import BaseConnection, SnowflakeConnection, SnowparkConnection, SQLConnection
  from streamlit.errors import StreamlitAPIException
  from streamlit.runtime.caching.cache_resource_api import _resource_caches
  from streamlit.runtime.connection_factory import _create_connection, _get_first_party_connection, connection_factory
  from streamlit.runtime.scriptrunner import add_script_run_ctx
  from streamlit.runtime.secrets import secrets_singleton
  from tests.testutil import create_mock_script_run_ctx
label_desc: Use image node_id 17 for calling the ConnectionFactoryTest obj's underlying member method code with example usage: obj.test_optional_dependencies_not_imported() without return types