package schema import "testing" func TestSafeSyncDatabaseName(t *testing.T) { // 有用户:中文昵称 → 稳定 user_{id}(改昵称不换库) if got := SafeSyncDatabaseName("婷婷管理员", 12, 34); got != "user_34" { t.Fatalf("want user_34, got %s", got) } // 无用户:中文/非法标签 → 稳定哈希 h1 := SafeSyncDatabaseName("婷婷管理员", 12, 0) h2 := SafeSyncDatabaseName("婷婷管理员", 12, 0) if h1 != h2 || !ValidDBName(h1) || h1[:2] != "db" { t.Fatalf("hash mapping bad: %s", h1) } if SafeSyncDatabaseName("另一中文", 12, 0) == h1 { t.Fatal("different labels should hash differently") } if got := SafeSyncDatabaseName("ok_db", 1, 2); got != "ok_db" { t.Fatalf("want ok_db, got %s", got) } if !ValidDBName("user_1") || ValidDBName("婷婷管理员") { t.Fatal("ValidDBName mismatch") } } func TestHashLabelDBNameStable(t *testing.T) { a := HashLabelDBName("宇信达", 7) b := HashLabelDBName("宇信达", 7) if a != b || !ValidDBName(a) { t.Fatalf("unstable or invalid: %s", a) } }