zapret-kvn/tests/test_proxy_engine_settings.py
loop-uh 44690b721f
Some checks failed
Windows project source guards / test (push) Failing after 38s
Пинг подключённого сервера через его подключение; «Подключаться при запуске» выкл.
- Подключённый сервер меряется тёплым запросом через локальный прокси его
  сессии, без второго ядра рядом с TUN: в 0.8.47 сервер с 71 мс на панели
  в списке был «--»/«мёртв». Остальные — временным ядром; неудача с адресом из
  DoH повторяется один раз без закрепления (ядро разрешает имя само). Причина
  неответа пишется в журнал «[ping]».
- «Подключаться при запуске» в новых установках выключено (открыл —
  нажал «Подключить»), одинаково с Android; сохранённый выбор не меняется.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 06:23:07 -04: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(auto_connect_last=True).to_dict()).auto_connect_last)
if __name__ == "__main__":
unittest.main()