| """Tests for Hugging Face adapter publishing helpers.""" |
|
|
| from __future__ import annotations |
|
|
| import tempfile |
| import unittest |
| from pathlib import Path |
|
|
| from scripts.publish_hf_adapter import upload_adapter, validate_adapter_dir |
|
|
|
|
| class PublishHfAdapterTest(unittest.TestCase): |
| def test_validate_adapter_dir_requires_config_and_weights(self) -> None: |
| with tempfile.TemporaryDirectory() as tmp_dir: |
| adapter_dir = Path(tmp_dir) |
|
|
| with self.assertRaises(ValueError): |
| validate_adapter_dir(adapter_dir) |
|
|
| def test_upload_adapter_dry_run_does_not_require_hub_client(self) -> None: |
| with tempfile.TemporaryDirectory() as tmp_dir: |
| adapter_dir = Path(tmp_dir) |
| (adapter_dir / "adapter_config.json").write_text("{}", encoding="utf-8") |
| (adapter_dir / "adapter_model.safetensors").write_text("fake", encoding="utf-8") |
|
|
| summary = upload_adapter( |
| adapter_dir=adapter_dir, |
| repo_id="qqyule/objectverse-diary-lora-test", |
| private=False, |
| commit_message="Dry run", |
| dry_run=True, |
| ) |
|
|
| self.assertFalse(summary["uploaded"]) |
| self.assertEqual(summary["repo_id"], "qqyule/objectverse-diary-lora-test") |
| self.assertIn("adapter_config.json", summary["files"]) |
|
|
|
|
| if __name__ == "__main__": |
| unittest.main() |
|
|