Implemented deterministic transcript normalization before the LLM stages
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import pytest
|
||||
|
||||
from audita.errors import AuditaValidationError
|
||||
from audita.schemas import parse_glossary_yaml, parse_transcript_json
|
||||
from audita.schemas import parse_glossary_yaml, parse_source_transcript_json, parse_transcript_json
|
||||
|
||||
|
||||
def test_valid_transcript_parses():
|
||||
@@ -102,6 +102,70 @@ def test_transcript_rejects_empty_input():
|
||||
parse_transcript_json("[]")
|
||||
|
||||
|
||||
def test_source_transcript_accepts_missing_ids():
|
||||
segments = parse_source_transcript_json(
|
||||
"""
|
||||
[
|
||||
{"speaker": "Eric", "start": 0.0, "end": 1.0, "text": "Hi"}
|
||||
]
|
||||
"""
|
||||
)
|
||||
|
||||
assert segments[0].id is None
|
||||
assert segments[0].speaker == "Eric"
|
||||
|
||||
|
||||
def test_source_transcript_accepts_present_nonsequential_ids():
|
||||
segments = parse_source_transcript_json(
|
||||
"""
|
||||
[
|
||||
{"id": 10, "speaker": "Eric", "start": 0.0, "end": 1.0, "text": "Hi"},
|
||||
{"id": 4, "speaker": "Mike", "start": 1.0, "end": 2.0, "text": "There"}
|
||||
]
|
||||
"""
|
||||
)
|
||||
|
||||
assert [segment.id for segment in segments] == [10, 4]
|
||||
|
||||
|
||||
def test_source_transcript_rejects_extra_fields():
|
||||
with pytest.raises(AuditaValidationError):
|
||||
parse_source_transcript_json(
|
||||
"""
|
||||
[
|
||||
{"speaker": "Eric", "start": 0.0, "end": 1.0, "text": "Hi", "extra": true}
|
||||
]
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def test_source_transcript_rejects_bad_timestamps():
|
||||
with pytest.raises(AuditaValidationError):
|
||||
parse_source_transcript_json(
|
||||
"""
|
||||
[
|
||||
{"speaker": "Eric", "start": 2.0, "end": 1.0, "text": "Hi"}
|
||||
]
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def test_source_transcript_rejects_empty_values():
|
||||
with pytest.raises(AuditaValidationError):
|
||||
parse_source_transcript_json(
|
||||
"""
|
||||
[
|
||||
{"speaker": "", "start": 0.0, "end": 1.0, "text": "Hi"}
|
||||
]
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def test_source_transcript_rejects_invalid_json():
|
||||
with pytest.raises(AuditaValidationError):
|
||||
parse_source_transcript_json("{")
|
||||
|
||||
|
||||
def test_valid_glossary_parses():
|
||||
glossary = parse_glossary_yaml(
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user