3e7fcce0b1
build / build (push) Successful in 1m11s
新增迁移50与每5分钟/手动持久同步,API只读本地;同步失败保留、权限阻断、租约与质量失效原子激活。 保留全量稳定分页/固定列,已存质量批量读取,元数据不反复解压长答案;详情安全Markdown与原文。 已运行整仓 make verify、源与副本隔离PG -race、真实只读源及隔离浏览器。 实际同步2525条;固定窗口640条本地中位1.46秒,对照直接源33.10秒。 停worker、缺源凭据、重启API后仍可查询;未更新8088,未修改生产原问答。
24 lines
983 B
Go
24 lines
983 B
Go
package main
|
|
|
|
import (
|
|
"knowledge-governance/internal/jobs"
|
|
"knowledge-governance/internal/qaopsmirror"
|
|
"testing"
|
|
)
|
|
|
|
func TestLocalMirrorWorkerRegistrationNeverConnectsSource(t *testing.T) {
|
|
values := map[string]string{}
|
|
get := func(k string) string { return values[k] }
|
|
handlers := map[string]jobs.Handler{}
|
|
if store, e := configureRecordsSync(nil, get, "postgres://fixture@localhost/local", handlers); e != nil || store != nil || len(handlers) != 0 {
|
|
t.Fatal("disabled mirror registered")
|
|
}
|
|
values["DOBOTAI_OPS_READ_ENABLED"] = "true"
|
|
values["DOBOTAI_OPS_TENANT_KEY"] = "fixture-worker-tenant"
|
|
values["DOBOTAI_OPS_READ_DSN_FILE"] = "/nonexistent-fixture-source-secret"
|
|
store, e := configureRecordsSync(nil, get, "postgres://fixture@localhost/local", handlers)
|
|
if e != nil || store == nil || handlers[qaopsmirror.NewStore(nil, "fixture-worker-tenant").SyncJobType()] == nil {
|
|
t.Fatal("local mirror handler missing; registration must not connect to source", e)
|
|
}
|
|
}
|