266 lines
11 KiB
Python
266 lines
11 KiB
Python
from __future__ import annotations
|
|
|
|
|
|
def test_root_facade_exports_core_entrypoints() -> None:
|
|
from wf_mcp import (
|
|
AuthRecord,
|
|
BrokerConfig,
|
|
ConnectionConfig,
|
|
DiscoveredTool,
|
|
FileStore,
|
|
McpSdkAdapter,
|
|
WfMcpService,
|
|
create_proxy_client,
|
|
load_broker_config,
|
|
)
|
|
|
|
assert AuthRecord.__name__ == "AuthRecord"
|
|
assert BrokerConfig.__name__ == "BrokerConfig"
|
|
assert ConnectionConfig.__name__ == "ConnectionConfig"
|
|
assert DiscoveredTool.__name__ == "DiscoveredTool"
|
|
assert FileStore.__name__ == "FileStore"
|
|
assert McpSdkAdapter.__name__ == "McpSdkAdapter"
|
|
assert WfMcpService.__name__ == "WfMcpService"
|
|
assert callable(create_proxy_client)
|
|
assert callable(load_broker_config)
|
|
|
|
|
|
def test_concern_package_imports_resolve() -> None:
|
|
from wf_mcp.broker import WfMcpService, load_broker_config
|
|
from wf_mcp.proxy import ProxyRuntime
|
|
from wf_mcp.sdk import McpSdkAdapter
|
|
from wf_mcp.storage import FileStore
|
|
|
|
assert FileStore.__name__ == "FileStore"
|
|
assert McpSdkAdapter.__name__ == "McpSdkAdapter"
|
|
assert WfMcpService.__name__ == "WfMcpService"
|
|
assert ProxyRuntime.__name__ == "ProxyRuntime"
|
|
assert callable(load_broker_config)
|
|
|
|
|
|
def test_models_module_reexports_canonical_model_owners() -> None:
|
|
from wf_mcp.auth import AuthRecord
|
|
from wf_mcp.broker.models import BrokerConfig, ConnectionConfig
|
|
from wf_mcp.catalog.models import CatalogSnapshot
|
|
from wf_mcp.models import AuthRecord as CompatAuthRecord
|
|
from wf_mcp.models import BrokerConfig as CompatBrokerConfig
|
|
from wf_mcp.models import CatalogSnapshot as CompatCatalogSnapshot
|
|
from wf_mcp.models import ConnectionConfig as CompatConnectionConfig
|
|
|
|
assert CompatAuthRecord is AuthRecord
|
|
assert CompatBrokerConfig is BrokerConfig
|
|
assert CompatCatalogSnapshot is CatalogSnapshot
|
|
assert CompatConnectionConfig is ConnectionConfig
|
|
|
|
|
|
def test_wf_mcp_auth_shim_reexports_wf_sources_mcp_auth() -> None:
|
|
from wf_mcp.auth import AuthRecord as CompatAuthRecord
|
|
from wf_sources_mcp.auth import AuthRecord
|
|
|
|
assert CompatAuthRecord is AuthRecord
|
|
|
|
|
|
def test_wf_mcp_storage_shim_reexports_wf_sources_mcp_storage() -> None:
|
|
from wf_mcp.storage import FileAuthStore as CompatFileAuthStore
|
|
from wf_mcp.storage import FileCatalogStore as CompatFileCatalogStore
|
|
from wf_mcp.storage import FileStore as CompatFileStore
|
|
from wf_sources_mcp.storage import FileAuthStore, FileCatalogStore, FileStore
|
|
|
|
assert CompatFileAuthStore is FileAuthStore
|
|
assert CompatFileCatalogStore is FileCatalogStore
|
|
assert CompatFileStore is FileStore
|
|
|
|
|
|
def test_wf_mcp_source_registry_shim_reexports_wf_sources_mcp_registry() -> None:
|
|
from wf_mcp.source_registry import FileSourceRegistryStore as CompatFileStore
|
|
from wf_mcp.source_registry import McpSourceRegistryEntry as CompatEntry
|
|
from wf_mcp.source_registry import SourceRegistryFile as CompatFile
|
|
from wf_sources_mcp.source_registry import (
|
|
FileSourceRegistryStore,
|
|
McpSourceRegistryEntry,
|
|
SourceRegistryFile,
|
|
)
|
|
|
|
assert CompatFileStore is FileSourceRegistryStore
|
|
assert CompatEntry is McpSourceRegistryEntry
|
|
assert CompatFile is SourceRegistryFile
|
|
|
|
|
|
def test_wf_mcp_capabilities_shim_reexports_wf_sources_mcp_catalog_entries() -> None:
|
|
from wf_mcp.capabilities import CatalogNodeEntry as CompatCatalogNodeEntry
|
|
from wf_mcp.capabilities import DiscoveredTool as CompatDiscoveredTool
|
|
from wf_sources_mcp.catalog import CatalogNodeEntry, DiscoveredTool
|
|
|
|
assert CompatCatalogNodeEntry is CatalogNodeEntry
|
|
assert CompatDiscoveredTool is DiscoveredTool
|
|
|
|
|
|
def test_wf_mcp_catalog_models_shim_reexports_wf_sources_mcp_catalog_models() -> None:
|
|
from wf_mcp.catalog.models import CatalogSnapshot as CompatCatalogSnapshot
|
|
from wf_mcp.catalog.models import dump_catalog_snapshot as compat_dump
|
|
from wf_sources_mcp.catalog import CatalogSnapshot, dump_catalog_snapshot
|
|
|
|
assert CompatCatalogSnapshot is CatalogSnapshot
|
|
assert compat_dump is dump_catalog_snapshot
|
|
|
|
|
|
def test_wf_mcp_sdk_protocol_shims_reexport_wf_sources_mcp_sdk() -> None:
|
|
from wf_mcp.sdk import BackendAdapter as CompatBackendAdapter
|
|
from wf_mcp.sdk import StatefulMcpRuntime as CompatStatefulMcpRuntime
|
|
from wf_mcp.sdk import ToolCallResult as CompatToolCallResult
|
|
from wf_mcp.sdk.base import BackendAdapter as CompatBaseBackendAdapter
|
|
from wf_mcp.sdk.base import StatefulMcpRuntime as CompatBaseStatefulMcpRuntime
|
|
from wf_mcp.sdk.base import ToolCallResult as CompatBaseToolCallResult
|
|
from wf_sources_mcp.sdk import BackendAdapter, StatefulMcpRuntime, ToolCallResult
|
|
|
|
assert CompatBackendAdapter is BackendAdapter
|
|
assert CompatToolCallResult is ToolCallResult
|
|
assert CompatStatefulMcpRuntime is StatefulMcpRuntime
|
|
assert CompatBaseBackendAdapter is BackendAdapter
|
|
assert CompatBaseToolCallResult is ToolCallResult
|
|
assert CompatBaseStatefulMcpRuntime is StatefulMcpRuntime
|
|
|
|
from wf_mcp.sdk import PromptRuntime as CompatPromptRuntime
|
|
from wf_mcp.sdk import ResourceRuntime as CompatResourceRuntime
|
|
from wf_mcp.sdk import ToolRuntime as CompatToolRuntime
|
|
from wf_mcp.sdk.base import PromptRuntime as CompatBasePromptRuntime
|
|
from wf_mcp.sdk.base import ResourceRuntime as CompatBaseResourceRuntime
|
|
from wf_mcp.sdk.base import ToolRuntime as CompatBaseToolRuntime
|
|
from wf_sources_mcp.sdk import PromptRuntime, ResourceRuntime, ToolRuntime
|
|
|
|
assert CompatPromptRuntime is PromptRuntime
|
|
assert CompatResourceRuntime is ResourceRuntime
|
|
assert CompatToolRuntime is ToolRuntime
|
|
assert CompatBasePromptRuntime is PromptRuntime
|
|
assert CompatBaseResourceRuntime is ResourceRuntime
|
|
assert CompatBaseToolRuntime is ToolRuntime
|
|
|
|
|
|
def test_wf_mcp_runtime_protocol_shim_reexports_wf_sources_mcp_tool_executor() -> None:
|
|
from wf_mcp.runtime import ToolExecutor as CompatRuntimeToolExecutor
|
|
from wf_mcp.runtime.protocols import ToolExecutor as CompatProtocolToolExecutor
|
|
from wf_sources_mcp.sdk import ToolExecutor
|
|
|
|
assert CompatRuntimeToolExecutor is ToolExecutor
|
|
assert CompatProtocolToolExecutor is ToolExecutor
|
|
|
|
|
|
def test_wf_mcp_sdk_converter_shim_reexports_wf_sources_mcp_converters() -> None:
|
|
from wf_mcp.sdk.converters import prompt_to_discovered as compat_prompt
|
|
from wf_mcp.sdk.converters import resource_to_discovered as compat_resource
|
|
from wf_mcp.sdk.converters import tool_result_to_call_result as compat_tool_result
|
|
from wf_mcp.sdk.converters import tool_to_discovered as compat_tool_to_discovered
|
|
from wf_mcp.sdk.converters import (
|
|
workflow_output_schema_from_mcp_tool_schema as compat_output_schema,
|
|
)
|
|
from wf_sources_mcp.sdk.converters import (
|
|
prompt_to_discovered,
|
|
resource_to_discovered,
|
|
tool_result_to_call_result,
|
|
tool_to_discovered,
|
|
workflow_output_schema_from_mcp_tool_schema,
|
|
)
|
|
|
|
assert compat_prompt is prompt_to_discovered
|
|
assert compat_resource is resource_to_discovered
|
|
assert compat_tool_result is tool_result_to_call_result
|
|
assert compat_tool_to_discovered is tool_to_discovered
|
|
assert compat_output_schema is workflow_output_schema_from_mcp_tool_schema
|
|
|
|
|
|
def test_wf_mcp_sdk_adapter_shim_reexports_wf_sources_mcp_adapter() -> None:
|
|
from wf_mcp.sdk import McpSdkAdapter as CompatPackageAdapter
|
|
from wf_mcp.sdk.adapter import McpSdkAdapter as CompatModuleAdapter
|
|
from wf_sources_mcp.sdk import McpSdkAdapter
|
|
from wf_sources_mcp.sdk.adapter import McpSdkAdapter as CanonicalModuleAdapter
|
|
|
|
assert CompatPackageAdapter is McpSdkAdapter
|
|
assert CompatModuleAdapter is McpSdkAdapter
|
|
assert CanonicalModuleAdapter is McpSdkAdapter
|
|
|
|
|
|
def test_runtime_shims_reexport_wf_sources_mcp_runtime() -> None:
|
|
from wf_mcp.runtime import (
|
|
McpRuntimePool as OldMcpRuntimePool,
|
|
)
|
|
from wf_mcp.runtime import (
|
|
PersistentMcpSession as OldPersistentMcpSession,
|
|
)
|
|
from wf_mcp.runtime import (
|
|
PersistentSessionFactory as OldPersistentSessionFactory,
|
|
)
|
|
from wf_mcp.runtime import (
|
|
connection_runtime_fingerprint as old_connection_runtime_fingerprint,
|
|
)
|
|
from wf_sources_mcp.runtime import (
|
|
McpRuntimePool,
|
|
PersistentMcpSession,
|
|
PersistentSessionFactory,
|
|
connection_runtime_fingerprint,
|
|
)
|
|
|
|
assert OldMcpRuntimePool is McpRuntimePool
|
|
assert OldPersistentMcpSession is PersistentMcpSession
|
|
assert OldPersistentSessionFactory is PersistentSessionFactory
|
|
assert old_connection_runtime_fingerprint is connection_runtime_fingerprint
|
|
|
|
|
|
def test_wf_mcp_broker_catalog_shim_reexports_wf_sources_mcp_catalog() -> None:
|
|
from wf_mcp.broker.catalog import CombinedCatalog as CompatCombinedCatalog
|
|
from wf_mcp.broker.catalog import snapshot_from_specs as compat_snapshot_from_specs
|
|
from wf_sources_mcp.catalog import CombinedCatalog, snapshot_from_specs
|
|
|
|
assert CompatCombinedCatalog is CombinedCatalog
|
|
assert compat_snapshot_from_specs is snapshot_from_specs
|
|
|
|
|
|
def test_wf_mcp_broker_discovery_shim_reexports_wf_sources_mcp_discovery() -> None:
|
|
from wf_mcp.broker.discovery import (
|
|
DiscoveredConnectionCapabilities as CompatDiscoveredConnectionCapabilities,
|
|
)
|
|
from wf_mcp.broker.discovery import (
|
|
discover_connection_capabilities as compat_discover_connection_capabilities,
|
|
)
|
|
from wf_sources_mcp.discovery import (
|
|
DiscoveredConnectionCapabilities,
|
|
discover_connection_capabilities,
|
|
)
|
|
|
|
assert CompatDiscoveredConnectionCapabilities is DiscoveredConnectionCapabilities
|
|
assert compat_discover_connection_capabilities is discover_connection_capabilities
|
|
|
|
|
|
def test_wf_mcp_workflow_wrapper_shim_reexports_wf_sources_mcp_tool_wrapper() -> None:
|
|
from wf_mcp.workflow import wrap_discovered_tool as compat_package_wrap
|
|
from wf_mcp.workflow.wrappers import wrap_discovered_tool as compat_module_wrap
|
|
from wf_sources_mcp.tool_wrappers import wrap_discovered_tool
|
|
|
|
assert compat_package_wrap is wrap_discovered_tool
|
|
assert compat_module_wrap is wrap_discovered_tool
|
|
|
|
|
|
def test_wf_mcp_broker_discovery_keeps_specs_adapter() -> None:
|
|
from wf_mcp.broker.discovery import specs_from_discovered_tools as broker_specs
|
|
from wf_sources_mcp.discovery import specs_from_discovered_tools as source_specs
|
|
|
|
assert broker_specs is not source_specs
|
|
assert broker_specs.__name__ == "specs_from_discovered_tools"
|
|
|
|
|
|
def test_wf_mcp_broker_service_adapter_shim_reexports_wf_sources_mcp_adapter_helper() -> (
|
|
None
|
|
):
|
|
from wf_mcp.broker.service.adapters import require_adapter as compat_require_adapter
|
|
from wf_sources_mcp.adapters import require_adapter
|
|
|
|
assert compat_require_adapter is require_adapter
|
|
|
|
|
|
def test_wf_mcp_connection_id_helpers_reexport_wf_sources_mcp_ids() -> None:
|
|
from wf_mcp.connections import parse_connection_id as compat_parse_connection_id
|
|
from wf_mcp.shared.names import RESERVED_CONNECTION_IDS as compat_reserved_ids
|
|
from wf_sources_mcp.ids import RESERVED_CONNECTION_IDS, parse_connection_id
|
|
|
|
assert compat_parse_connection_id is parse_connection_id
|
|
assert compat_reserved_ids is RESERVED_CONNECTION_IDS
|