Add container diarization configuration
This commit is contained in:
@@ -28,3 +28,41 @@ def test_settings_accept_valid_native_configuration(tmp_path: Path) -> None:
|
||||
settings = AppSettings(data_root=tmp_path / "runs", whisper_model=model)
|
||||
|
||||
settings.validate_for_processing()
|
||||
|
||||
assert settings.diarization_runtime == "native"
|
||||
assert settings.diarization_container_args == ()
|
||||
|
||||
|
||||
def test_environment_defaults_to_no_diarization_container_args(monkeypatch) -> None:
|
||||
monkeypatch.delenv("MKA_DIARIZATION_CONTAINER_ARGS", raising=False)
|
||||
|
||||
settings = AppSettings.from_environment()
|
||||
|
||||
assert settings.diarization_container_args == ()
|
||||
|
||||
|
||||
def test_environment_parses_multiple_ordered_container_args(monkeypatch) -> None:
|
||||
monkeypatch.setenv(
|
||||
"MKA_DIARIZATION_CONTAINER_ARGS",
|
||||
'["--device=/dev/kfd", "--device=/dev/dri", "--group-add", "video"]',
|
||||
)
|
||||
|
||||
settings = AppSettings.from_environment()
|
||||
|
||||
assert settings.diarization_container_args == (
|
||||
"--device=/dev/kfd",
|
||||
"--device=/dev/dri",
|
||||
"--group-add",
|
||||
"video",
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"value",
|
||||
["not-json", '"--flag"', '["valid", ""]', '["valid", 1]'],
|
||||
)
|
||||
def test_environment_rejects_invalid_container_args(monkeypatch, value: str) -> None:
|
||||
monkeypatch.setenv("MKA_DIARIZATION_CONTAINER_ARGS", value)
|
||||
|
||||
with pytest.raises(ConfigurationError, match="JSON array"):
|
||||
AppSettings.from_environment()
|
||||
|
||||
Reference in New Issue
Block a user