Files
scribe/test/test_autotranscript.py
T
2024-03-28 10:23:24 +01:00

56 lines
1.7 KiB
Python

import pytest
import torch
from scraibe import Scraibe, Diariser, Transcriber, Transcript, AudioProcessor
from unittest.mock import MagicMOck, patch
"""
@pytest.fixture
def example_audio_file(tmp_path):
audio_path = tmp_path
"""
@pytest.fixture
def create_scraibe_instance():
return Scraibe()
def test_scraibe_init(create_scraibe_instance):
model = create_scraibe_instance
assert isinstance(model.transcriber, Transcriber)
assert isinstance(model.diariser, Diariser)
def test_scraibe_autotranscribe(create_scraibe_instance, example_audio_file):
model = create_scraibe_instance
transcript = example_audio_file
assert isinstance(transcript, Transcript)
def test_scraibe_diarization(create_scraibe_instance, example_audio_file):
model = create_scraibe_instance
diarisation_result = model.diarisation(example_audio_file)
assert isinstance(diarisation_result, dict)
def test_scraibe_transcribe(create_scraibe_instance, example_audio_file):
model = create_scraibe_instance
transcription_result = model.transcribe(example_audio_file)
assert isinstance(transcription_result, str)
def test_remove_audio_file(create_scraibe_instance, example_audio_file):
model = create_scraibe_instance
with pytest.raises(ValueError):
model.remove_audio_file("non_existing_audio_file")
model.remove_audio_file(example_audio_file)
assert not os.path.exists(example_audio_file)
def test_get_audio_file(create_scraibe_instance, example_audio_file):
model = create_scraibe_instance
audio_file = os.path.exist(example_audio_file)
assert isinstance(audio_file, AudioProcessor)
assert isinstance(audio_file.waveform, torch.Tensor)
assert isinstance(audio_file.sr, torch.Tensor)