added tests folder
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import pytest
|
||||
from scraibe import (Transcriber, WhisperTranscriber,
|
||||
FasterWhisperTranscriber, load_transcriber)
|
||||
import torch
|
||||
|
||||
|
||||
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
||||
TEST_WAVEFORM = "Hello World"
|
||||
|
||||
"""
|
||||
@pytest.mark.parametrize("audio_file, expected_transcription",[("path_to_test_audiofile", "test_transcription")] )
|
||||
@patch("scraibe.Transcriber.load_model")
|
||||
|
||||
def test_transcriber(mock_load_model, audio_file, expected_transcription):
|
||||
|
||||
|
||||
Args:
|
||||
mock_load_model (_type_): _description_
|
||||
audio_file (_type_): _description_
|
||||
expected_transcription (_type_): _description_
|
||||
|
||||
mock_model = mock_load_model.return_value
|
||||
mock_model.transcribe.return_value ={"text": expected_transcription}
|
||||
|
||||
transcriber = Transcriber.load_model(model="medium")
|
||||
|
||||
transcription_result = transcriber.transcribe(audio=audio_file)
|
||||
|
||||
assert transcription_result == expected_transcription """
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def whisper_instance():
|
||||
return load_transcriber('tiny', whisper_type='whisper')
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def faster_whisper_instance():
|
||||
return load_transcriber('tiny', whisper_type='faster-whisper')
|
||||
|
||||
|
||||
def test_whisper_base_initialization(whisper_instance):
|
||||
assert isinstance(whisper_instance, Transcriber)
|
||||
|
||||
|
||||
def test_faster_whisper_base_initialization(faster_whisper_instance):
|
||||
assert isinstance(faster_whisper_instance, Transcriber)
|
||||
|
||||
|
||||
def test_whisper_transcriber_initialization(whisper_instance):
|
||||
assert isinstance(whisper_instance, WhisperTranscriber)
|
||||
|
||||
|
||||
def test_faster_whisper_transcriber_initialization(faster_whisper_instance):
|
||||
assert isinstance(faster_whisper_instance, FasterWhisperTranscriber)
|
||||
|
||||
|
||||
def test_wrong_transcriber_initialization():
|
||||
with pytest.raises(ValueError):
|
||||
load_transcriber('tiny', whisper_type='wrong_whisper')
|
||||
|
||||
|
||||
def test_get_whisper_kwargs():
|
||||
kwargs = {"arg1": 1, "arg3": 3}
|
||||
valid_kwargs = Transcriber._get_whisper_kwargs(**kwargs)
|
||||
assert not valid_kwargs == {"arg1": 1, "arg3": 3}
|
||||
|
||||
|
||||
def test_whisper_transcribe(whisper_instance):
|
||||
model = whisper_instance
|
||||
# mocker.patch.object(transcriber_instance.model, 'transcribe', return_value={'Hello, World !'} )
|
||||
transcript = model.transcribe('tests/audio_test_2.mp4')
|
||||
assert isinstance(transcript, str)
|
||||
|
||||
|
||||
def test_faster_whisper_transcribe(faster_whisper_instance):
|
||||
model = faster_whisper_instance
|
||||
# mocker.patch.object(transcriber_instance.model, 'transcribe', return_value={'Hello, World !'} )
|
||||
transcript = model.transcribe('tests/audio_test_2.mp4')
|
||||
assert isinstance(transcript, str)
|
||||
Reference in New Issue
Block a user