"""Shared test helpers for adapter registry tests."""

from __future__ import annotations

from lfx.services.adapters import registry as adapter_registry_mod
from lfx.services.adapters.deployment.base import BaseDeploymentService
from lfx.services.adapters.schema import AdapterType


class DeploymentAdapterStub(BaseDeploymentService):
    """Minimal stub subclassing BaseDeploymentService for adapter registry tests."""

    name = "stub_deployment"

    async def create(self, **kw): ...
    async def list_types(self, **kw): ...
    async def list_llms(self, **kw): ...
    async def list(self, **kw): ...
    async def get(self, **kw): ...
    async def update(self, **kw): ...
    async def redeploy(self, **kw): ...
    async def duplicate(self, **kw): ...
    async def delete(self, **kw): ...
    async def get_status(self, **kw): ...
    async def create_execution(self, **kw): ...
    async def get_execution(self, **kw): ...
    async def list_configs(self, **kw): ...
    async def list_snapshots(self, **kw): ...
    async def verify_credentials(self, **kw): ...
    async def teardown(self): ...


def make_deployment_adapter_registry():
    """Create a deployment adapter registry with convention-derived parameters."""
    return adapter_registry_mod.get_adapter_registry(adapter_type=AdapterType.DEPLOYMENT)
