setup install
This commit is contained in:
@@ -25,6 +25,7 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
python install .
|
||||||
pip install pytest
|
pip install pytest
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import pytest
|
import pytest
|
||||||
import os
|
import os
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
from scraibe import Diariser
|
from scraibe import diarisation, Diariser
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ def diariser_instance():
|
|||||||
Returns:
|
Returns:
|
||||||
Diariser(Obj): An instance of the Diariser class with a mocked token.
|
Diariser(Obj): An instance of the Diariser class with a mocked token.
|
||||||
"""
|
"""
|
||||||
with mock.patch.object(Diariser, '_get_token', return_value = 'personal Hugging-Face token')
|
with mock.patch.object(Diariser, '_get_token', return_value = 'HF_TOKEN' ):
|
||||||
return Diariser('pyannote')
|
return Diariser('pyannote')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,120 +0,0 @@
|
|||||||
import pytest
|
|
||||||
from scraibe import Transcriber
|
|
||||||
from unittest.mock import patch, mock_open
|
|
||||||
import os
|
|
||||||
|
|
||||||
def test_load_pyannote_model():
|
|
||||||
"""
|
|
||||||
Test load_pyannote_test
|
|
||||||
"""
|
|
||||||
from pyannote.audio.pipelines.speaker_diarization import SpeakerDiarization
|
|
||||||
from pyannote.audio import Pipeline
|
|
||||||
|
|
||||||
pipeline = Pipeline.from_pretrained("models/pyannote/speaker_diarization/config.yaml")
|
|
||||||
assert isinstance(pipeline, SpeakerDiarization)
|
|
||||||
|
|
||||||
# Test Transcribtion class
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def transcriber():
|
|
||||||
"""
|
|
||||||
Prepare Transcriber for testing
|
|
||||||
Returns: Transcriber Object
|
|
||||||
"""
|
|
||||||
|
|
||||||
return Transcriber.load_model("medium", local=True)
|
|
||||||
|
|
||||||
|
|
||||||
def test_Transcriber_init(transcriber):
|
|
||||||
"""
|
|
||||||
Test Transcriber initialization with a whisper model
|
|
||||||
"""
|
|
||||||
|
|
||||||
assert isinstance(transcriber, Transcriber)
|
|
||||||
|
|
||||||
def test_transcription(transcriber):
|
|
||||||
"""
|
|
||||||
Test transcription
|
|
||||||
"""
|
|
||||||
|
|
||||||
transcript = transcriber.transcribe("tests/test.wav")
|
|
||||||
assert isinstance(transcript, str)
|
|
||||||
|
|
||||||
def test_save_transcript_to_file(transcriber):
|
|
||||||
"""
|
|
||||||
Test save_transcript_to_file
|
|
||||||
"""
|
|
||||||
transcript = transcriber.transcribe("tests/test.wav")
|
|
||||||
|
|
||||||
Transcriber.save_transcript(transcript, "tests/output.txt")
|
|
||||||
|
|
||||||
assert os.path.exists("tests/output.txt")
|
|
||||||
|
|
||||||
os.remove("tests/output.txt")
|
|
||||||
|
|
||||||
# Test Diaraization class
|
|
||||||
|
|
||||||
from scraibe import Diariser
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def diarisation():
|
|
||||||
"""
|
|
||||||
Prepare Diarisation for testing
|
|
||||||
Returns: Diarisation Object
|
|
||||||
"""
|
|
||||||
|
|
||||||
return Diariser.load_model("models/pyannote/speaker_diarization/config.yaml", local=True)
|
|
||||||
|
|
||||||
def test_Diarisation_init(diarisation):
|
|
||||||
"""
|
|
||||||
Test Diarisation initialization with a pyannote model
|
|
||||||
"""
|
|
||||||
|
|
||||||
assert isinstance(diarisation, Diariser)
|
|
||||||
|
|
||||||
def test_diarisation(diarisation):
|
|
||||||
"""
|
|
||||||
Test diarisation
|
|
||||||
"""
|
|
||||||
|
|
||||||
diarisation = diarisation.diarization("tests/test.wav")
|
|
||||||
assert isinstance(diarisation, dict)
|
|
||||||
|
|
||||||
# Test AudioProcessor
|
|
||||||
|
|
||||||
from scraibe import AudioProcessor , TorchAudioProcessor
|
|
||||||
|
|
||||||
|
|
||||||
def test_AudioProcessor_init():
|
|
||||||
"""
|
|
||||||
Test AudioProcessor initialization
|
|
||||||
"""
|
|
||||||
audio = AudioProcessor("tests/test.wav")
|
|
||||||
assert isinstance(audio, AudioProcessor)
|
|
||||||
|
|
||||||
def test_AudioProcessor_convert():
|
|
||||||
"""
|
|
||||||
Test AudioProcessor convert
|
|
||||||
"""
|
|
||||||
audio = AudioProcessor("tests/test.wav")
|
|
||||||
audio.convert_audio("tests/test.mp3", format="mp3")
|
|
||||||
assert os.path.exists("tests/test.mp3")
|
|
||||||
|
|
||||||
def test_TorchAudioProcessor_from_file():
|
|
||||||
"""
|
|
||||||
Test TorchAudioProcessor initialization
|
|
||||||
"""
|
|
||||||
audio = TorchAudioProcessor.from_file("tests/test.wav")
|
|
||||||
|
|
||||||
assert isinstance(audio, TorchAudioProcessor)
|
|
||||||
|
|
||||||
os.remove("tests/test.mp3")
|
|
||||||
|
|
||||||
|
|
||||||
def test_TorchAudioProcessor_from_ffmpeg():
|
|
||||||
"""
|
|
||||||
Test TorchAudioProcessor initialization
|
|
||||||
"""
|
|
||||||
audio = TorchAudioProcessor.from_ffmpeg("tests/test.wav")
|
|
||||||
assert isinstance(audio, TorchAudioProcessor)
|
|
||||||
Reference in New Issue
Block a user