code: def test_custom_adapter(self):
      self.app.config[
          "SQLALCHEMY_ENCRYPTED_FIELD_TYPE_ADAPTER"
      ] = CustomEncFieldAdapter
      encrypted_field_factory.init_app(self.app)
      field = encrypted_field_factory.create(String(1024))
      self.assertTrue(isinstance(field, StringEncryptedType))
      self.assertFalse(isinstance(field, EncryptedType))
      self.assertEqual(self.app.config["SECRET_KEY"], field.key)
  
file_path: superset/tests/integration_tests/utils/encrypt_tests.py
imports: from typing import Any, Optional
  from sqlalchemy import String, TypeDecorator
  from sqlalchemy_utils import EncryptedType
  from sqlalchemy_utils.types.encrypted.encrypted_type import StringEncryptedType
  from superset.extensions import encrypted_field_factory
  from superset.utils.encrypt import AbstractEncryptedFieldAdapter, SQLAlchemyUtilsAdapter
  from tests.integration_tests.base_tests import SupersetTestCase
label_desc: Use image node_id 3 for calling the EncryptedFieldTest obj's underlying member method code with example usage: obj.test_custom_adapter() without return types