feat: 切换正式管理端默认地址 (#148)
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user