mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-05-12 00:29:42 +08:00
- 后端在驱动包选择与本地导入前拦截 JDBC Jar,并返回替代说明 - 驱动管理统一改为“导入驱动包”,补充不支持 JDBC Jar 的提示 - 自定义连接补充 kingbase8 等驱动别名与 Go 驱动说明 - 新增后端与前端回归测试 Refs #317
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package app
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestValidateLocalDriverPackagePathRejectsJdbcJar(t *testing.T) {
|
|
err := validateLocalDriverPackagePath(filepath.Join("tmp", "kingbase8.JAR"))
|
|
if err == nil {
|
|
t.Fatal("expected JDBC jar path to be rejected")
|
|
}
|
|
if !strings.Contains(err.Error(), "JDBC Jar") {
|
|
t.Fatalf("expected JDBC jar hint, got %q", err.Error())
|
|
}
|
|
if err := validateLocalDriverPackagePath(filepath.Join("tmp", "kingbase-driver-agent.zip")); err != nil {
|
|
t.Fatalf("expected zip package to stay supported, got %v", err)
|
|
}
|
|
}
|
|
|
|
func TestInstallLocalDriverPackageRejectsJdbcJarBeforeBuildChecks(t *testing.T) {
|
|
jarPath := filepath.Join(t.TempDir(), "kingbase8.jar")
|
|
if err := os.WriteFile(jarPath, []byte("fake-jar"), 0o644); err != nil {
|
|
t.Fatalf("write temp jar: %v", err)
|
|
}
|
|
|
|
app := &App{}
|
|
result := app.InstallLocalDriverPackage("kingbase", jarPath, t.TempDir(), "")
|
|
if result.Success {
|
|
t.Fatal("expected local jar import to fail")
|
|
}
|
|
if !strings.Contains(result.Message, "JDBC Jar") {
|
|
t.Fatalf("expected JDBC jar guidance, got %q", result.Message)
|
|
}
|
|
}
|