Download tests/test_app_metadata_cache.py from stereoid/Orienter: direct link, hf CLI and curl.
- Browser
- Download file 4.29 kB
-
https://huggingface.co/stereoid/Orienter/resolve/main/tests/test_app_metadata_cache.py
- Command line
-
hf download hf://stereoid/Orienter/tests/test_app_metadata_cache.py
-
curl -L -o test_app_metadata_cache.py https://huggingface.co/stereoid/Orienter/resolve/main/tests/test_app_metadata_cache.py
4.29 kB
| import json | |
| import tempfile | |
| import unittest | |
| from pathlib import Path | |
| from approach.vlm.gpt4v.gpt4v import get_steam_app_data, load_app_metadata_cache | |
| class AppMetadataCacheTests(unittest.TestCase): | |
| def test_json_cache_supplies_app_context(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| cache_path = Path(tmpdir) / "app_metadata.json" | |
| cache_path.write_text( | |
| json.dumps( | |
| { | |
| "123": { | |
| "app_name": "Pinned App", | |
| "app_description": "Pinned description", | |
| } | |
| } | |
| ), | |
| encoding="utf-8", | |
| ) | |
| cache = load_app_metadata_cache(cache_path) | |
| self.assertEqual( | |
| get_steam_app_data("123", "123_4.jpg", metadata_cache=cache), | |
| ("Pinned App", "Pinned description"), | |
| ) | |
| def test_cache_missing_app_id_fails_closed(self): | |
| with self.assertRaises(KeyError): | |
| get_steam_app_data("999", "999_1.jpg", metadata_cache={}) | |
| def test_jsonl_cache_is_keyed_by_app_id(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| cache_path = Path(tmpdir) / "app_metadata.jsonl" | |
| cache_path.write_text( | |
| json.dumps( | |
| { | |
| "app_id": 456, | |
| "name": "JSONL App", | |
| "description": "JSONL description", | |
| } | |
| ) | |
| + "\n", | |
| encoding="utf-8", | |
| ) | |
| cache = load_app_metadata_cache(cache_path) | |
| self.assertEqual( | |
| get_steam_app_data("456", "456_7.jpg", metadata_cache=cache), | |
| ("JSONL App", "JSONL description"), | |
| ) | |
| def test_duplicate_jsonl_app_id_is_rejected(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| cache_path = Path(tmpdir) / "app_metadata.jsonl" | |
| cache_path.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", | |
| ) | |
| with self.assertRaises(ValueError): | |
| load_app_metadata_cache(cache_path) | |
| def test_duplicate_json_object_key_is_rejected(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| cache_path = Path(tmpdir) / "app_metadata.json" | |
| cache_path.write_text( | |
| '{"123":{"app_name":"First","app_description":"One"},' | |
| '"123":{"app_name":"Second","app_description":"Two"}}', | |
| encoding="utf-8", | |
| ) | |
| with self.assertRaises(ValueError): | |
| load_app_metadata_cache(cache_path) | |
| def test_mapping_key_and_record_app_id_must_match(self): | |
| with tempfile.TemporaryDirectory() as tmpdir: | |
| cache_path = Path(tmpdir) / "app_metadata.json" | |
| cache_path.write_text( | |
| json.dumps( | |
| { | |
| "123": { | |
| "app_id": "456", | |
| "app_name": "Mismatch", | |
| "app_description": "Description", | |
| } | |
| } | |
| ), | |
| encoding="utf-8", | |
| ) | |
| with self.assertRaises(ValueError): | |
| load_app_metadata_cache(cache_path) | |
| def test_missing_cache_fields_fail_closed(self): | |
| with self.assertRaises(ValueError): | |
| get_steam_app_data("123", "123_4.jpg", metadata_cache={"123": {"app_name": "App"}}) | |
| if __name__ == "__main__": | |
| unittest.main() | |