Files
kefu/wechat_rpa/test_dsh_web_server.py
2026-08-18 17:25:22 +08:00

39 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import annotations
import unittest
from unittest import mock
import dsh_web_server
class DshWebServerTest(unittest.TestCase):
def test_parse_ready_url(self):
self.assertEqual(
dsh_web_server.parse_ready_url("dsh web: http://127.0.0.1:3080"),
"http://127.0.0.1:3080",
)
self.assertEqual(
dsh_web_server.parse_ready_url("boot\ndsh web: http://127.0.0.1:18765 (LAN: none)\n"),
"http://127.0.0.1:18765",
)
self.assertEqual(dsh_web_server.parse_ready_url("still starting"), "")
def test_launch_command_uses_official_package(self):
with mock.patch.object(dsh_web_server, "_which", return_value=r"C:\nodejs\npx.cmd"):
args = dsh_web_server.launch_command(18765)
self.assertIn("@deepseek-ai/dsh", args)
self.assertIn("web", args)
self.assertIn("18765", args)
self.assertIn("127.0.0.1", args)
def test_launch_command_without_node_explains_install(self):
with mock.patch.object(dsh_web_server, "_which", return_value=""):
with self.assertRaises(FileNotFoundError) as ctx:
dsh_web_server.launch_command()
self.assertIn("Node", str(ctx.exception))
if __name__ == "__main__":
unittest.main()