mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-12 16:02:48 +08:00
✨ feat(iris): 新增 InterSystems IRIS 数据源支持
- 后端新增 IRIS 连接、查询、DDL、索引元数据和 DataGrid 编辑能力 - 接入 optional driver-agent、构建标签、revision 生成和变更检测流程 - 前端新增 IRIS 连接入口、方言映射、能力配置和图标展示 - 修复 IRIS 主键识别、事务开启错误处理和驱动连接关闭问题 - 补充后端、前端和构建脚本相关回归测试 Refs #408
This commit is contained in:
@@ -212,6 +212,36 @@ func TestBuiltinActivatePinnedVersionDoesNotRestrictBundleFallback(t *testing.T)
|
||||
}
|
||||
}
|
||||
|
||||
func TestIRISDriverDefinitionUsesOptionalAgent(t *testing.T) {
|
||||
definition, ok := resolveDriverDefinition("iris")
|
||||
if !ok {
|
||||
t.Fatal("expected iris driver definition")
|
||||
}
|
||||
if definition.Name != "InterSystems IRIS" {
|
||||
t.Fatalf("unexpected iris driver name: %q", definition.Name)
|
||||
}
|
||||
if driverGoModulePathMap["iris"] != "github.com/caretdev/go-irisnative" {
|
||||
t.Fatalf("unexpected iris go module path: %q", driverGoModulePathMap["iris"])
|
||||
}
|
||||
if definition.PinnedVersion != "0.2.1" {
|
||||
t.Fatalf("unexpected iris definition pinned version: %q", definition.PinnedVersion)
|
||||
}
|
||||
if definition.DefaultDownloadURL != "builtin://activate/iris" {
|
||||
t.Fatalf("unexpected iris default download URL: %q", definition.DefaultDownloadURL)
|
||||
}
|
||||
if latestDriverVersionMap["iris"] != "0.2.1" {
|
||||
t.Fatalf("unexpected iris pinned version: %q", latestDriverVersionMap["iris"])
|
||||
}
|
||||
|
||||
tags, err := optionalDriverBuildTags("iris", "")
|
||||
if err != nil {
|
||||
t.Fatalf("resolve iris build tags failed: %v", err)
|
||||
}
|
||||
if tags != "gonavi_iris_driver" {
|
||||
t.Fatalf("unexpected iris build tag: %q", tags)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildOptionalDriverInstallPlanMessagePrefersDirectThenBundle(t *testing.T) {
|
||||
message := buildOptionalDriverInstallPlanMessage("SQL Server", "1.9.6", false, false, false, false, 1, 2)
|
||||
if !strings.Contains(message, "先尝试 1 个预编译直链") {
|
||||
|
||||
Reference in New Issue
Block a user