zapret-kvn/tests/test_proxy_engine_settings.py
loop-uh d5a4715771
Some checks failed
Windows project source guards / test (push) Has been cancelled
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00

27 lines
1.2 KiB
Python

import unittest
from xray_fluent.profiles.models import AppSettings
class ProxyEngineSettingsTests(unittest.TestCase):
def test_new_and_legacy_states_default_to_singbox_proxy(self) -> None:
self.assertEqual(AppSettings().proxy_engine, "singbox")
self.assertEqual(AppSettings.from_dict({}).proxy_engine, "singbox")
def test_legacy_engines_migrate_without_auto_connecting_different_rules(self) -> None:
for settings in (AppSettings(proxy_engine="xray"), AppSettings(tun_engine="xray"),
AppSettings(tun_engine="tun2socks")):
with self.subTest(settings=settings):
settings.xray_config_file = "custom-rules.json"
restored = AppSettings.from_dict(settings.to_dict())
self.assertEqual(restored.proxy_engine, "singbox")
self.assertEqual(restored.tun_engine, "singbox")
self.assertFalse(restored.auto_connect_last)
self.assertEqual(restored.xray_config_file, "custom-rules.json")
def test_singbox_auto_connect_is_preserved(self) -> None:
self.assertTrue(AppSettings.from_dict(AppSettings().to_dict()).auto_connect_last)
if __name__ == "__main__":
unittest.main()