setup install

This commit is contained in:
Tryndaron
2024-04-02 13:56:13 +02:00
parent 5ee519d466
commit d458c28a0f
3 changed files with 3 additions and 122 deletions
+1
View File
@@ -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
+2 -2
View File
@@ -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')
-120
View File
@@ -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)