66 lines
2.5 KiB
Python
66 lines
2.5 KiB
Python
import unittest
|
|
|
|
from core.settings import (
|
|
_resolve_base_model_mapping,
|
|
bool_setting,
|
|
normalize_download_path_template,
|
|
normalize_relative_subfolder,
|
|
normalize_settings,
|
|
resolve_download_subfolder,
|
|
sanitize_folder_name,
|
|
)
|
|
|
|
|
|
class SettingsTests(unittest.TestCase):
|
|
|
|
def test_bool_setting(self):
|
|
self.assertTrue(bool_setting("true"))
|
|
self.assertTrue(bool_setting(True))
|
|
self.assertFalse(bool_setting("false"))
|
|
self.assertFalse(bool_setting(False))
|
|
|
|
def test_workflow_dependency_marker_defaults_to_disabled(self):
|
|
self.assertFalse(normalize_settings({})["workflow_dependency_marker_enabled"])
|
|
self.assertTrue(
|
|
normalize_settings({"workflow_dependency_marker_enabled": "true"})[
|
|
"workflow_dependency_marker_enabled"
|
|
]
|
|
)
|
|
|
|
def test_auto_open_on_missing_defaults_to_disabled(self):
|
|
self.assertFalse(normalize_settings({})["auto_open_on_missing"])
|
|
self.assertTrue(
|
|
normalize_settings({"auto_open_on_missing": "true"})[
|
|
"auto_open_on_missing"
|
|
]
|
|
)
|
|
|
|
def test_sanitize_folder_name(self):
|
|
self.assertEqual(sanitize_folder_name("valid_name"), "valid_name")
|
|
self.assertEqual(sanitize_folder_name("name/with\\slashes"), "name_with_slashes")
|
|
self.assertEqual(sanitize_folder_name(" spaces and..dots. "), "spaces and..dots")
|
|
self.assertEqual(sanitize_folder_name("", "fallback"), "fallback")
|
|
|
|
def test_normalize_relative_subfolder(self):
|
|
self.assertEqual(normalize_relative_subfolder("sub\\dir/name"), "sub/dir/name")
|
|
self.assertEqual(normalize_relative_subfolder(""), "")
|
|
|
|
def test_requested_download_subfolder_uses_forward_slashes(self):
|
|
self.assertEqual(
|
|
resolve_download_subfolder("loras", r"Pony\Styles"),
|
|
"Pony/Styles",
|
|
)
|
|
|
|
def test_normalize_download_path_template(self):
|
|
self.assertEqual(normalize_download_path_template("some/{category}/template/"), "some/{category}/template")
|
|
self.assertEqual(normalize_download_path_template(""), "")
|
|
|
|
def test_resolve_base_model_mapping(self):
|
|
mappings = {
|
|
"SDXL": "sdxl",
|
|
"SD1.5": "sd15",
|
|
}
|
|
self.assertEqual(_resolve_base_model_mapping(mappings, "SDXL 1.0"), "sdxl")
|
|
self.assertEqual(_resolve_base_model_mapping(mappings, "SD 1.5"), "sd15")
|
|
self.assertEqual(_resolve_base_model_mapping(mappings, "unknown"), "unknown")
|