File size: 905 Bytes
829be0a
 
 
 
 
 
 
 
 
 
85b2e31
 
829be0a
 
 
 
 
 
 
 
 
 
 
0f24486
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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}"
        )