| 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}" |
| ) |
|
|