增加短信渠道

This commit is contained in:
Yvan
2026-09-29 18:15:35 +08:00
parent a16b8f8e89
commit 89cc7761b5
38 changed files with 1469 additions and 39 deletions
+35
View File
@@ -4,9 +4,44 @@ import (
"strings"
"testing"
mysqldriver "github.com/go-sql-driver/mysql"
"kra/internal/config"
)
func TestMySQLBootstrapConnectsWithoutTargetDatabase(t *testing.T) {
for _, host := range []string{"", "mysql"} {
t.Run("host="+host, func(t *testing.T) {
cfg := &config.Database{Driver: "mysql", Host: host, Name: "kra_new", Source: "root@tcp(localhost:3306)/kra_new"}
original := *cfg
dsn, err := bootstrapDatabaseDSN(cfg)
if err != nil {
t.Fatal(err)
}
parsed, err := mysqldriver.ParseDSN(dsn)
if err != nil {
t.Fatal(err)
}
if parsed.DBName != "" {
t.Fatalf("bootstrap selected database %q before creating it", parsed.DBName)
}
if *cfg != original {
t.Fatal("bootstrap changed the target configuration")
}
target, err := databaseDSN(cfg, "")
if err != nil {
t.Fatal(err)
}
parsed, err = mysqldriver.ParseDSN(target)
if err != nil {
t.Fatal(err)
}
if parsed.DBName != "kra_new" {
t.Fatalf("target connection selected database %q", parsed.DBName)
}
})
}
}
func TestMySQLDatabaseDSNIncludesNetworkTimeouts(t *testing.T) {
dsn, err := databaseDSN(&config.Database{
Driver: "mysql",