diff options
| author | Yuval Adam <_@yuv.al> | 2026-07-24 14:15:05 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2026-07-24 14:15:05 +0200 |
| commit | 8007c77e415130d9aab431e6b7199286bd3b7caf (patch) | |
| tree | 5d6bda05738673518616e1af99c90c6ce4d612db /tests | |
| parent | 31fa21fdd1c6bccec73ccabdb49316c9813b0a9b (diff) | |
Preserve recordings with dated transcripts
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_controller.py | 1 | ||||
| -rw-r--r-- | tests/test_persistence.py | 42 |
2 files changed, 28 insertions, 15 deletions
diff --git a/tests/test_controller.py b/tests/test_controller.py index b57cb69..17b6e1b 100644 --- a/tests/test_controller.py +++ b/tests/test_controller.py @@ -71,6 +71,7 @@ class ControllerTests(unittest.TestCase): text, path = received[0] self.assertEqual(text, "hello from controller") self.assertEqual(path.read_text(), "hello from controller\n") + self.assertEqual(path.with_suffix(".wav").read_bytes(), b"RIFF") finally: controller.close() diff --git a/tests/test_persistence.py b/tests/test_persistence.py index d8ae257..5e86aa3 100644 --- a/tests/test_persistence.py +++ b/tests/test_persistence.py @@ -9,30 +9,42 @@ from parley.persistence import save_transcript class PersistenceTests(unittest.TestCase): def setUp(self) -> None: self.temporary = tempfile.TemporaryDirectory() - self.directory = Path(self.temporary.name) / "transcripts" + root = Path(self.temporary.name) + self.directory = root / "transcripts" + self.recording = root / "recording.wav" + self.recording.write_bytes(b"RIFF audio") self.now = datetime(2026, 7, 24, 12, 34, 56, 123456, timezone.utc) def tearDown(self) -> None: self.temporary.cleanup() - def test_writes_utf8_with_one_final_newline(self) -> None: - path = save_transcript("héllo\n\n", self.directory, clock=lambda: self.now) + def save(self, text: str = "text") -> Path: + return save_transcript( + text, + self.recording, + self.directory, + clock=lambda: self.now, + ) + + def test_saves_text_and_audio_under_date_and_time(self) -> None: + path = self.save("héllo\n\n") + + self.assertEqual(path, self.directory / "2026-07-24" / "12-34-56.txt") self.assertEqual(path.read_text(encoding="utf-8"), "héllo\n") - self.assertEqual(path.name, "transcript_2026-07-24_12-34-56_123456+0000.txt") + self.assertEqual(path.with_suffix(".wav").read_bytes(), b"RIFF audio") + + def test_refuses_to_replace_an_existing_pair(self) -> None: + first = self.save("one") + + with self.assertRaises(FileExistsError): + self.save("two") - def test_uses_counter_on_collision(self) -> None: - first = save_transcript("one", self.directory, clock=lambda: self.now) - second = save_transcript("two", self.directory, clock=lambda: self.now) - self.assertNotEqual(first, second) - self.assertEqual(second.stem[-2:], "_1") self.assertEqual(first.read_text(), "one\n") - self.assertEqual(second.read_text(), "two\n") + self.assertEqual(first.with_suffix(".wav").read_bytes(), b"RIFF audio") - def test_leaves_no_temporary_file(self) -> None: - save_transcript("text", self.directory, clock=lambda: self.now) - self.assertFalse( - any(path.suffix == ".tmp" for path in self.directory.iterdir()) - ) + def test_leaves_no_temporary_files(self) -> None: + path = self.save() + self.assertFalse(any(item.suffix == ".tmp" for item in path.parent.iterdir())) if __name__ == "__main__": |
