Create test_unification_refactoring.py
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
if parent_dir not in sys.path:
|
||||
sys.path.insert(0, parent_dir)
|
||||
|
||||
from core.metadata_audit import extract_metadata_size
|
||||
from core.settings import load_settings, get_settings_schema
|
||||
from core.workflow_analyzer import NODE_TYPE_MODEL_WIDGET_CATEGORIES
|
||||
|
||||
|
||||
class TestUnificationRefactoring(unittest.TestCase):
|
||||
|
||||
def test_extract_metadata_size_top_level(self):
|
||||
# 1. Top-level size check
|
||||
meta = {"size": 1000}
|
||||
res = extract_metadata_size(meta, "model.safetensors")
|
||||
self.assertIsNotNone(res)
|
||||
self.assertEqual(res[0], 1000)
|
||||
self.assertEqual(res[1], "size")
|
||||
|
||||
def test_extract_metadata_size_nested(self):
|
||||
# 2. Nested file/file_info check
|
||||
meta = {
|
||||
"file": {
|
||||
"sizeBytes": 2000
|
||||
}
|
||||
}
|
||||
res = extract_metadata_size(meta, "model.safetensors")
|
||||
self.assertIsNotNone(res)
|
||||
self.assertEqual(res[0], 2000)
|
||||
self.assertEqual(res[1], "file.sizeBytes")
|
||||
|
||||
def test_extract_metadata_size_files_list(self):
|
||||
# 3. Files list check
|
||||
meta = {
|
||||
"files": [
|
||||
{"name": "other.safetensors", "size_bytes": 500},
|
||||
{"name": "model.safetensors", "size_kb": 2.0}
|
||||
]
|
||||
}
|
||||
res = extract_metadata_size(meta, "model.safetensors")
|
||||
self.assertIsNotNone(res)
|
||||
self.assertEqual(res[0], 2048) # 2.0 * 1024
|
||||
self.assertEqual(res[1], "files[].size_kb")
|
||||
|
||||
def test_settings_schema_structure(self):
|
||||
schema = get_settings_schema()
|
||||
self.assertIsInstance(schema, list)
|
||||
self.assertTrue(len(schema) > 0)
|
||||
for item in schema:
|
||||
self.assertIn("serverKey", item)
|
||||
self.assertIn("type", item)
|
||||
self.assertIn("default", item)
|
||||
self.assertIn("localKey", item)
|
||||
|
||||
def test_node_rules_categories_match(self):
|
||||
self.assertIn("CheckpointLoaderSimple", NODE_TYPE_MODEL_WIDGET_CATEGORIES)
|
||||
self.assertEqual(NODE_TYPE_MODEL_WIDGET_CATEGORIES["CheckpointLoaderSimple"], {0: "checkpoints"})
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user