Whisper-WebUI / tests /test_translation.py
jhj0517
Skip test if DeepL API is unavailable
811111b
raw
history blame
1.41 kB
from modules.translation.deepl_api import DeepLAPI
from modules.translation.nllb_inference import NLLBInference
from test_config import *
import os
import pytest
@pytest.mark.parametrize("model_size, file_path", [
(TEST_NLLB_MODEL, TEST_SUBTITLE_SRT_PATH),
(TEST_NLLB_MODEL, TEST_SUBTITLE_VTT_PATH),
])
def test_nllb_inference(
model_size: str,
file_path: str
):
nllb_inferencer = NLLBInference()
print(f"NLLB Device : {nllb_inferencer.device}")
result_str, file_paths = nllb_inferencer.translate_file(
fileobjs=[file_path],
model_size=model_size,
src_lang="eng_Latn",
tgt_lang="kor_Hang",
)
assert isinstance(result_str, str)
assert isinstance(file_paths[0], str)
@pytest.mark.skipif(
os.getenv("DEEPL_API_KEY") is None or not os.getenv("DEEPL_API_KEY"),
reason="DeepL API key is unavailable"
)
@pytest.mark.parametrize("file_path", [
TEST_SUBTITLE_SRT_PATH,
TEST_SUBTITLE_VTT_PATH,
])
def test_deepl_api(
file_path: str
):
deepl_api = DeepLAPI()
api_key = os.getenv("DEEPL_API_KEY")
result_str, file_paths = deepl_api.translate_deepl(
auth_key=api_key,
fileobjs=[file_path],
source_lang="English",
target_lang="Korean",
is_pro=False,
add_timestamp=True,
)
assert isinstance(result_str, str)
assert isinstance(file_paths[0], str)