mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-05-11 17:59:43 +08:00
- 金仓外置驱动链路增加表名与变更字段归一化,修复 ApplyChanges 场景下双引号转义异常导致的 SQL 语法错误 - 新增金仓公共标识符工具并复用到 kingbase_impl 与 optional_driver_agent_impl,统一处理多重转义、schema.table 拆分与引用规范 - 金仓代理连接后自动探测并设置 search_path,降低查询时必须手写 schema 前缀的概率 - MongoDB 连接参数改为显式 host/hosts 优先,避免被 URI 中 localhost 覆盖;代理链路保留目标地址不再改写为本地地址 - 连接测试增加前后端超时收敛与日志增强,避免长时间转圈;连接错误文案在未启用 TLS 时移除误导性的“SSL”前缀 - 统一日志级别为 INFO/WARN/ERROR,默认日志目录收敛到 ~/.GoNavi/Logs,并补充驱动构建脚本 build-driver-agents.sh
40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
//go:build gonavi_full_drivers || gonavi_mongodb_driver
|
|
|
|
package db
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"GoNavi-Wails/internal/connection"
|
|
)
|
|
|
|
func TestApplyMongoURI_ExplicitHostDoesNotAdoptURIHosts(t *testing.T) {
|
|
config := connection.ConnectionConfig{
|
|
Host: "10.10.10.10",
|
|
Port: 27017,
|
|
URI: "mongodb://localhost:27017/admin",
|
|
}
|
|
|
|
got := applyMongoURI(config)
|
|
if got.Host != "10.10.10.10" {
|
|
t.Fatalf("expected host to remain explicit, got %q", got.Host)
|
|
}
|
|
if len(got.Hosts) != 0 {
|
|
t.Fatalf("expected hosts to remain empty when explicit host exists, got %v", got.Hosts)
|
|
}
|
|
}
|
|
|
|
func TestApplyMongoURI_ExplicitHostsDoesNotAdoptURIHosts(t *testing.T) {
|
|
config := connection.ConnectionConfig{
|
|
Host: "10.10.10.10",
|
|
Port: 27017,
|
|
Hosts: []string{"10.10.10.10:27017", "10.10.10.11:27017"},
|
|
URI: "mongodb://localhost:27017,localhost:27018/admin?replicaSet=rs0",
|
|
}
|
|
|
|
got := applyMongoURI(config)
|
|
if len(got.Hosts) != 2 || got.Hosts[0] != "10.10.10.10:27017" {
|
|
t.Fatalf("expected explicit hosts to stay untouched, got %v", got.Hosts)
|
|
}
|
|
}
|