def test_plugin_registration(): tracking_store = TrackingStoreRegistry() test_uri = "mock-scheme://fake-host/fake-path" test_scheme = "mock-scheme" mock_plugin = mock.Mock() tracking_store.register(test_scheme, mock_plugin) assert test_scheme in tracking_store._registry assert tracking_store.get_store(test_uri) == mock_plugin.return_value mock_plugin.assert_called_once_with(store_uri=test_uri, artifact_uri=None)
ignore_tls_verification=os.environ.get(_TRACKING_INSECURE_TLS_ENV_VAR) == 'true', client_cert_path=os.environ.get(_TRACKING_CLIENT_CERT_PATH_ENV_VAR), server_cert_path=os.environ.get(_TRACKING_SERVER_CERT_PATH_ENV_VAR), ) def _get_rest_store(store_uri, **_): return RestStore(partial(_get_default_host_creds, store_uri)) def _get_databricks_rest_store(store_uri, **_): return DatabricksRestStore(lambda: get_databricks_host_creds(store_uri)) _tracking_store_registry = TrackingStoreRegistry() _tracking_store_registry.register('', _get_file_store) _tracking_store_registry.register('file', _get_file_store) _tracking_store_registry.register('databricks', _get_databricks_rest_store) for scheme in ['http', 'https']: _tracking_store_registry.register(scheme, _get_rest_store) for scheme in DATABASE_ENGINES: _tracking_store_registry.register(scheme, _get_sqlalchemy_store) _tracking_store_registry.register_entrypoints() def _get_store(store_uri=None, artifact_uri=None): return _tracking_store_registry.get_store(store_uri, artifact_uri)
== "true", client_cert_path=os.environ.get(_TRACKING_CLIENT_CERT_PATH_ENV_VAR), server_cert_path=os.environ.get(_TRACKING_SERVER_CERT_PATH_ENV_VAR), ) def _get_rest_store(store_uri, **_): return RestStore(partial(_get_default_host_creds, store_uri)) def _get_databricks_rest_store(store_uri, **_): return DatabricksRestStore(lambda: get_databricks_host_creds(store_uri)) _tracking_store_registry = TrackingStoreRegistry() _tracking_store_registry.register("", _get_file_store) _tracking_store_registry.register("file", _get_file_store) _tracking_store_registry.register("databricks", _get_databricks_rest_store) for scheme in ["http", "https"]: _tracking_store_registry.register(scheme, _get_rest_store) for scheme in DATABASE_ENGINES: _tracking_store_registry.register(scheme, _get_sqlalchemy_store) _tracking_store_registry.register_entrypoints() def _get_store(store_uri=None, artifact_uri=None): return _tracking_store_registry.get_store(store_uri, artifact_uri)