Download tests/test_release_scripts.py from stereoid/Orienter: direct link, hf CLI and curl.
- Browser
- Download file 5.68 kB
-
https://huggingface.co/stereoid/Orienter/resolve/main/tests/test_release_scripts.py
- Command line
-
hf download hf://stereoid/Orienter/tests/test_release_scripts.py
-
curl -L -o test_release_scripts.py https://huggingface.co/stereoid/Orienter/resolve/main/tests/test_release_scripts.py
5.68 kB
| import json | |
| import tempfile | |
| import unittest | |
| from pathlib import Path | |
| from scripts.generate_questions import build_questions, write_metadata_template | |
| from scripts.verify_assets import ( | |
| check_embedding_cache, | |
| check_metadata_cache, | |
| check_questions, | |
| sha256_file, | |
| ) | |
| class ReleaseScriptTests(unittest.TestCase): | |
| def test_generate_questions_from_image_directory(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| root = Path(tmpdir) | |
| images = root / "images" | |
| images.mkdir() | |
| (images / "123_4.jpg").write_bytes(b"fake") | |
| (images / "123_5.png").write_bytes(b"fake") | |
| (images / "123_10.png").write_bytes(b"fake") | |
| (images / "notes.txt").write_text("ignored", encoding="utf-8") | |
| questions = build_questions(images, "Prompt") | |
| metadata_template = root / "metadata.json" | |
| write_metadata_template(metadata_template, questions) | |
| metadata = json.loads(metadata_template.read_text(encoding="utf-8")) | |
| self.assertEqual([record["image_id"] for record in questions], [123004, 123005, 123010]) | |
| self.assertEqual(questions[0]["text"], "Prompt") | |
| self.assertEqual(sorted(metadata), ["123"]) | |
| def test_recursive_question_generation_uses_basename_for_app_id(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| root = Path(tmpdir) | |
| images = root / "images" | |
| nested = images / "nested" | |
| nested.mkdir(parents=True) | |
| (nested / "123_4.jpg").write_bytes(b"fake") | |
| questions = build_questions(images, "Prompt", recursive=True) | |
| metadata_template = root / "metadata.json" | |
| write_metadata_template(metadata_template, questions) | |
| metadata = json.loads(metadata_template.read_text(encoding="utf-8")) | |
| self.assertEqual(questions[0]["image"], "nested/123_4.jpg") | |
| self.assertEqual(sorted(metadata), ["123"]) | |
| def test_verify_questions_and_metadata_cache(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| root = Path(tmpdir) | |
| images = root / "images" | |
| images.mkdir() | |
| (images / "123_4.jpg").write_bytes(b"fake") | |
| questions = root / "questions.jsonl" | |
| questions.write_text( | |
| json.dumps( | |
| { | |
| "question_id": 0, | |
| "image": "123_4.jpg", | |
| "image_id": 123004, | |
| "text": "Prompt", | |
| } | |
| ) | |
| + "\n", | |
| encoding="utf-8", | |
| ) | |
| metadata = root / "metadata.json" | |
| metadata.write_text( | |
| json.dumps( | |
| { | |
| "123": { | |
| "app_name": "Test VR", | |
| "app_description": "Description.", | |
| } | |
| } | |
| ), | |
| encoding="utf-8", | |
| ) | |
| report = check_questions(questions, images) | |
| metadata_report = check_metadata_cache(metadata, report["app_ids"]) | |
| self.assertEqual(report["questions"], 1) | |
| self.assertEqual(metadata_report["covered_app_ids"], 1) | |
| def test_verify_metadata_cache_rejects_duplicates_and_missing_fields(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| root = Path(tmpdir) | |
| duplicate = root / "duplicate.jsonl" | |
| duplicate.write_text( | |
| "\n".join( | |
| [ | |
| json.dumps( | |
| { | |
| "app_id": 123, | |
| "app_name": "First", | |
| "app_description": "Description.", | |
| } | |
| ), | |
| json.dumps( | |
| { | |
| "app_id": "123", | |
| "app_name": "Second", | |
| "app_description": "Description.", | |
| } | |
| ), | |
| ] | |
| ) | |
| + "\n", | |
| encoding="utf-8", | |
| ) | |
| missing_field = root / "missing_field.json" | |
| missing_field.write_text( | |
| json.dumps({"123": {"app_name": "Test VR"}}), | |
| encoding="utf-8", | |
| ) | |
| with self.assertRaises(ValueError): | |
| check_metadata_cache(duplicate, ["123"]) | |
| with self.assertRaises(ValueError): | |
| check_metadata_cache(missing_field, ["123"]) | |
| def test_verify_external_embedding_cache_against_manifest(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| root = Path(tmpdir) | |
| cache = root / "embedding_dict.json" | |
| cache.write_bytes(b"frozen-cache") | |
| manifest = root / "cache_manifest.json" | |
| manifest.write_text( | |
| json.dumps( | |
| { | |
| "artifact": "embedding_dict.json", | |
| "size_bytes": cache.stat().st_size, | |
| "sha256": sha256_file(cache), | |
| "entry_count": 1, | |
| "embedding_dimension": 2, | |
| } | |
| ), | |
| encoding="utf-8", | |
| ) | |
| report = check_embedding_cache(cache, manifest) | |
| self.assertEqual(report["entry_count"], 1) | |
| self.assertEqual(report["embedding_dimension"], 2) | |
| if __name__ == "__main__": | |
| unittest.main() | |