tiny-hinglish-turn-detector / tests /test_upload_folders.py
suvradeepp's picture
Publish Tiny Hinglish Turn Detector development preview
0348402 verified
Raw
History Blame Contribute Delete
2.74 kB
from __future__ import annotations
import subprocess
import tempfile
import unittest
from pathlib import Path
from scripts.build_upload_folders import (
_GITHUB_ARTIFACTS,
_broken_local_markdown_links,
_github_gitignore,
_secret_findings,
)
class UploadFolderGuardrailTest(unittest.TestCase):
def test_secret_scanner_allows_placeholder_and_rejects_real_token_shape(self) -> None:
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
(root / ".env.example").write_text("HF_TOKEN=hf_replace_me\n", encoding="utf-8")
self.assertEqual(_secret_findings(root), [])
(root / "bad.txt").write_text("HF_TOKEN=hf_" + "A" * 30, encoding="utf-8")
self.assertIn("Hugging Face token: bad.txt", _secret_findings(root))
def test_markdown_guard_rejects_only_broken_local_links(self) -> None:
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
(root / "present.md").write_text("ok\n", encoding="utf-8")
readme = root / "README.md"
readme.write_text(
"[local](present.md) [anchor](#section) [web](https://example.com)\n",
encoding="utf-8",
)
self.assertEqual(_broken_local_markdown_links(root), [])
readme.write_text("[missing](absent.md)\n", encoding="utf-8")
self.assertEqual(_broken_local_markdown_links(root), ["README.md -> absent.md"])
def test_generated_gitignore_tracks_only_curated_artifacts(self) -> None:
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
(root / ".gitignore").write_text(_github_gitignore(), encoding="utf-8")
subprocess.run(["git", "init", "-q"], cwd=root, check=True)
for relative in _GITHUB_ARTIFACTS:
path = root / relative
path.parent.mkdir(parents=True, exist_ok=True)
path.write_bytes(b"curated")
completed = subprocess.run(
["git", "check-ignore", "--quiet", relative],
cwd=root,
check=False,
)
self.assertEqual(completed.returncode, 1, relative)
excluded = root / "artifacts" / "debug-run" / "model.pt"
excluded.parent.mkdir(parents=True)
excluded.write_bytes(b"excluded")
completed = subprocess.run(
["git", "check-ignore", "--quiet", str(excluded.relative_to(root))],
cwd=root,
check=False,
)
self.assertEqual(completed.returncode, 0)
if __name__ == "__main__":
unittest.main()