refactor (untested)
This commit is contained in:
57
tests/test_smoke.py
Normal file
57
tests/test_smoke.py
Normal file
@@ -0,0 +1,57 @@
|
||||
"""Smoke: the wired package imports, deprecated stays unwired, and the cleaned
|
||||
CLI surface is what we expect."""
|
||||
import subprocess
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
from tests import REPO_ROOT, subprocess_env
|
||||
|
||||
|
||||
class TestImports(unittest.TestCase):
|
||||
def test_core_modules_import(self):
|
||||
import meetus # noqa: F401
|
||||
import meetus.workflow # noqa: F401 (frame_extractor → cv2 stub)
|
||||
import meetus.frame_extractor # noqa: F401
|
||||
import meetus.transcript_merger # noqa: F401
|
||||
import meetus.output_manager # noqa: F401
|
||||
import meetus.cache_manager # noqa: F401
|
||||
|
||||
def test_deprecated_importable_for_reference(self):
|
||||
import meetus.deprecated.ocr_processor # noqa: F401
|
||||
import meetus.deprecated.vision_processor # noqa: F401
|
||||
|
||||
def test_workflow_does_not_import_deprecated(self):
|
||||
src = (REPO_ROOT / "meetus" / "workflow.py").read_text()
|
||||
self.assertNotIn("from .deprecated", src)
|
||||
self.assertNotIn("import deprecated", src)
|
||||
|
||||
|
||||
class TestCliHelp(unittest.TestCase):
|
||||
def _help(self, rel):
|
||||
return subprocess.run(
|
||||
[sys.executable, str(REPO_ROOT / rel), "--help"],
|
||||
cwd=REPO_ROOT, env=subprocess_env(), capture_output=True, text=True,
|
||||
)
|
||||
|
||||
def test_process_meeting_help_is_clean(self):
|
||||
r = self._help("process_meeting.py")
|
||||
self.assertEqual(r.returncode, 0, r.stderr)
|
||||
out = r.stdout
|
||||
for kept in ("--embed-images", "--diarize", "--transcript-formats",
|
||||
"--scene-detection", "--skip-cache-frames", "--extract-only"):
|
||||
self.assertIn(kept, out, f"{kept} should still be offered")
|
||||
for gone in ("--use-vision", "--use-hybrid", "--ocr-engine",
|
||||
"--hybrid-llm", "--vision-model", "--vision-context",
|
||||
"--no-deduplicate", "--skip-cache-analysis"):
|
||||
self.assertNotIn(gone, out, f"{gone} should be removed from the CLI")
|
||||
|
||||
def test_summarizers_offer_output_dir(self):
|
||||
for rel in ("ctrl/summarize/summarize_simple.py",
|
||||
"ctrl/summarize/compile_meeting.py"):
|
||||
r = self._help(rel)
|
||||
self.assertEqual(r.returncode, 0, r.stderr)
|
||||
self.assertIn("--output-dir", r.stdout, rel)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user