From 396b89836a620632a178d1d8a7e22001b687ab1b Mon Sep 17 00:00:00 2001 From: weichen Date: Tue, 13 Oct 2026 05:14:44 +0000 Subject: [PATCH] Adapt multi-instance acceptance to system-managed mock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Why: P2 受管把 runtime.mock 收进系统层——Backend #190 让 --mock 播种系统层(对全部租户生效),两进程验收随之简化:去掉逐租户显式开启,backend pin 前进到 741da4a。 Evidence: 本地真实 PG(容器)+ AGENT_BIN 跑 make test-multi-instance 全绿(15.3s);此前 --mock 经 user 层写入被受管拦截导致实例无法启动的根因已由 Backend #190 修复并复验。 Impact: 测试文件与 gitlink;无产品代码变更。 Refs: 提案 r1 P2;Backend PR #188/#190 --- modules/backend | 2 +- .../multi-instance/multi_instance_test.go | 31 ++----------------- 2 files changed, 4 insertions(+), 29 deletions(-) diff --git a/modules/backend b/modules/backend index 76c75ce5..741da4a0 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit 76c75ce50c0ccf8b9bb26f28ba7c29c13220b7d9 +Subproject commit 741da4a0b6c8d8e5b665789bda33f65ed3471a0e diff --git a/tests/integration/multi-instance/multi_instance_test.go b/tests/integration/multi-instance/multi_instance_test.go index f5952860..7c9f30fc 100644 --- a/tests/integration/multi-instance/multi_instance_test.go +++ b/tests/integration/multi-instance/multi_instance_test.go @@ -42,9 +42,6 @@ const ( aliceOwner = "mi_alice" alicePass0 = "mi-alice-pass-0" alicePass = "mi-alice-pass-1" - bossOwner = "mi_boss" - bossPass0 = "mi-boss-pass-0" - bossPass = "mi-boss-pass-1" httpWait = 15 * time.Second ) @@ -462,34 +459,12 @@ func (e *env) loginAlice(t *testing.T) *userClient { apiB: &http.Client{Timeout: httpWait, Transport: bearerRT{key: key}}, streamB: &http.Client{Transport: bearerRT{key: key}}, // SSE 无整体超时;chan 背压控制 } - // --mock 只写 OwnerDefault 的设置;alice 是独立租户,须显式开 mock - // (selectConversationRunner 按 EffectiveSettings 分流),否则 run 走 - // LLMRunner 且无模型配置直接失败。P2 受管:runtime.mock 是系统受管项且 - // 本环境 --auth on,须由管理员经系统面开启(对全部租户生效);alice - // 保持普通租户身份不变。 - e.enableMockViaSystemAdmin(t) + // P2 受管(Backend #190):--mock 启动选项播种系统层(runtime.mock 为 + // 系统受管项),对全部租户生效——alice 无需再显式开启 mock; + // selectConversationRunner 按 EffectiveSettings 分流到 MockRunner。 return uc } -// enableMockViaSystemAdmin 用一次性管理员会话经系统面开启 mock(P2 后的 -// 正规路径:受管项写入面要求 isAdmin;新账号须先过改密门才能走业务接口)。 -func (e *env) enableMockViaSystemAdmin(t *testing.T) { - t.Helper() - e.cli(t, "user", "create", "--dsn", e.dbDSN, "--owner", bossOwner, "--name", "Boss", "--password", bossPass0, "--role", "admin") - jar, err := cookiejar.New(nil) - if err != nil { - t.Fatal(err) - } - sess := &http.Client{Timeout: httpWait, Jar: jar} - e.do(t, sess, "POST", "/api/auth/login", map[string]any{ - "owner": bossOwner, "password": bossPass0, - }, nil) - e.do(t, sess, "POST", "/api/auth/password", map[string]any{ - "current": bossPass0, "next": bossPass, - }, nil) - e.do(t, sess, "PUT", "/api/settings/system", map[string]any{"runtime": map[string]any{"mock": true}}, nil) -} - // bearerRT 为所有请求附加 Authorization: Bearer 。 type bearerRT struct{ key string }