Migrate the mlmodel, metadata and messaging connectors onto the BaseConnection[Config, Client] pattern, continuing the connector-wide BaseConnection rollout (database, storage, search and drive verticals already done/in-review).
Connectors: mlflow, sagemaker (mlmodel); alationsink, amundsen, atlas (metadata); kafka, kinesis, pubsub, redpanda (messaging).
Each connector gains an XConnection(BaseConnection[...]) with _get_client + test_connection, and connection_class is wired into its service_spec.py. The mlmodel/messaging base sources and the metadata sources all resolve the client and run test_connection through the generic resolver, so the new classes are exercised end-to-end.
kafka keeps its module-level get_connection/test_connection (redpanda imports them as get_kafka_connection/test_kafka_connection; both share KafkaClient); pubsub keeps get_connection module-level (a unit test imports it). The other six move the build into _get_client. Colocated connection unit tests added for all nine.
Tracked PR: #28994
Migrate the mlmodel, metadata and messaging connectors onto the
BaseConnection[Config, Client]pattern, continuing the connector-wide BaseConnection rollout (database, storage, search and drive verticals already done/in-review).Connectors: mlflow, sagemaker (mlmodel); alationsink, amundsen, atlas (metadata); kafka, kinesis, pubsub, redpanda (messaging).
Each connector gains an
XConnection(BaseConnection[...])with_get_client+test_connection, andconnection_classis wired into itsservice_spec.py. The mlmodel/messaging base sources and the metadata sources all resolve the client and runtest_connectionthrough the generic resolver, so the new classes are exercised end-to-end.kafka keeps its module-level
get_connection/test_connection(redpanda imports them asget_kafka_connection/test_kafka_connection; both shareKafkaClient); pubsub keepsget_connectionmodule-level (a unit test imports it). The other six move the build into_get_client. Colocated connection unit tests added for all nine.Tracked PR: #28994