Adapt multi-instance acceptance to system-managed mock
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
This commit is contained in:
+1
-1
Submodule modules/backend updated: 76c75ce50c...741da4a0b6
@@ -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 <key>。
|
||||
type bearerRT struct{ key string }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user