feat: 切换正式管理端默认地址 (#148)

This commit is contained in:
chengma
2026-08-11 11:50:29 +08:00
parent e4385ac2dc
commit 5c2f4f65d9
9 changed files with 77 additions and 24 deletions
+40 -1
View File
@@ -4,7 +4,11 @@ import tempfile
import unittest
from pathlib import Path
from src.current_client_service import CurrentClientService
from src.current_client_service import (
CurrentClientService,
load_admin_base_url,
)
from src.http_admin_gateway import DEFAULT_ADMIN_BASE_URL
from src.settings_repository import SettingsRepository
@@ -52,6 +56,41 @@ class CurrentClientServiceTest(unittest.TestCase):
self.assertEqual(saved.client_id, "CLIENT-GENERATED-1")
self.assertEqual(saved.client_name, "新设备")
def test_missing_admin_base_url_is_saved_as_current_default(self):
self.assertEqual(
load_admin_base_url(self.repository),
DEFAULT_ADMIN_BASE_URL,
)
self.assertEqual(
self.repository.get("admin.base_url"),
DEFAULT_ADMIN_BASE_URL,
)
def test_legacy_admin_base_url_is_migrated(self):
self.repository.set("admin.base_url", "http://127.0.0.1:8080/")
self.assertEqual(
load_admin_base_url(self.repository),
DEFAULT_ADMIN_BASE_URL,
)
self.assertEqual(
self.repository.get("admin.base_url"),
DEFAULT_ADMIN_BASE_URL,
)
def test_custom_admin_base_url_is_preserved(self):
custom_url = "https://admin.example.com/service/"
self.repository.set("admin.base_url", custom_url)
self.assertEqual(
load_admin_base_url(self.repository),
"https://admin.example.com/service",
)
self.assertEqual(
self.repository.get("admin.base_url"),
custom_url,
)
if __name__ == "__main__":
unittest.main()
+3 -3
View File
@@ -13,7 +13,7 @@ from src.admin_gateway import (
ClaimCapabilities,
ClientInfo,
)
from src.http_admin_gateway import HttpAdminGateway
from src.http_admin_gateway import DEFAULT_ADMIN_BASE_URL, HttpAdminGateway
from src.task_models import TaskType
@@ -144,7 +144,7 @@ class HttpAdminGatewayTest(unittest.TestCase):
self.assertTrue(receipt.accepted)
self.assertEqual(
opener.request.full_url,
"http://127.0.0.1:8080/api/v1/client/tasks/COL-001/result",
f"{DEFAULT_ADMIN_BASE_URL}/api/v1/client/tasks/COL-001/result",
)
headers = {
key.lower(): value for key, value in opener.request.header_items()
@@ -256,7 +256,7 @@ class HttpAdminGatewayTest(unittest.TestCase):
self.assertEqual(opener.request.get_method(), "POST")
self.assertEqual(
opener.request.full_url,
"http://127.0.0.1:8080/api/v1/client/tasks/claim",
f"{DEFAULT_ADMIN_BASE_URL}/api/v1/client/tasks/claim",
)
headers = {
key.lower(): value for key, value in opener.request.header_items()
+6 -3
View File
@@ -290,7 +290,7 @@ class SettingsPageEventTest(unittest.TestCase):
{
"admin.client_id": "CLIENT-EXISTING",
"admin.client_name": "原设备名",
"admin.base_url": "http://127.0.0.1:8080",
"admin.base_url": "http://127.0.0.1:9090",
}
)
gateway = MockAdminGateway()
@@ -309,7 +309,7 @@ class SettingsPageEventTest(unittest.TestCase):
self.assertEqual(self.repository.get("admin.client_name"), "原设备名")
self.assertEqual(
self.repository.get("admin.base_url"),
"http://127.0.0.1:8080",
"http://127.0.0.1:9090",
)
self.assertEqual(gateway.registration_count, 0)
self.assertIn("Admin 服务地址必须", page.currentDeviceStatusLabel.text())
@@ -330,7 +330,10 @@ class SettingsPageEventTest(unittest.TestCase):
page.currentDeviceSaveButton.click()
self.app.processEvents()
self.assertIsNone(self.repository.get("admin.base_url"))
self.assertEqual(
self.repository.get("admin.base_url"),
DEFAULT_ADMIN_BASE_URL,
)
self.assertEqual(gateway.registration_count, 0)
self.assertIn("不能包含账号、密码", page.currentDeviceStatusLabel.text())
page.eventBinder.shutdown()