File size: 1,255 Bytes
2049495
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import ast
import unittest
from pathlib import Path


APP_PATH = Path(__file__).parents[1] / "app.py"


class ReferenceTranscriptWiringTests(unittest.TestCase):
    def test_audio_upload_writes_asr_text_to_reference_transcript(self):
        tree = ast.parse(APP_PATH.read_text(encoding="utf-8"))
        upload_calls = [
            node
            for node in ast.walk(tree)
            if isinstance(node, ast.Call)
            and isinstance(node.func, ast.Attribute)
            and node.func.attr == "upload"
            and isinstance(node.func.value, ast.Name)
            and node.func.value.id == "clone_prompt_audio"
        ]

        self.assertEqual(len(upload_calls), 1)
        upload_call = upload_calls[0]
        self.assertIsInstance(upload_call.args[0], ast.Name)
        self.assertEqual(upload_call.args[0].id, "transcribe_reference")

        keywords = {keyword.arg: keyword.value for keyword in upload_call.keywords}
        self.assertEqual(
            [item.id for item in keywords["inputs"].elts],
            ["clone_prompt_audio"],
        )
        self.assertEqual(
            [item.id for item in keywords["outputs"].elts],
            ["clone_prompt_text"],
        )


if __name__ == "__main__":
    unittest.main()