chatterbox-voice-studio / tests /test_adapter_contract.py
techfreakworm's picture
test(adapters): assert every param has a valid group
0f24486 unverified
raw
history blame contribute delete
905 Bytes
import importlib
import pytest
from server.models.base import is_valid_adapter
from server.schemas import ParamSpec
ADAPTER_MODULES = [
"server.models.chatterbox_en",
"server.models.chatterbox_turbo",
"server.models.chatterbox_mtl",
]
@pytest.mark.parametrize("module_name", ADAPTER_MODULES)
def test_adapter_class_attributes_valid(module_name):
mod = importlib.import_module(module_name)
cls = getattr(mod, "Adapter")
assert is_valid_adapter(cls)
assert cls.id
for p in cls.params:
assert isinstance(p, ParamSpec)
@pytest.mark.parametrize("module_name", ADAPTER_MODULES)
def test_adapter_param_groups_are_valid(module_name):
mod = importlib.import_module(module_name)
cls = getattr(mod, "Adapter")
for p in cls.params:
assert p.group in {"basic", "advanced"}, (
f"{cls.id}.{p.name} has invalid group: {p.group!r}"
)