Cover public auth config, catalog policy, official main workflow activation on Postgres, and conn-busy metadata writeback fixes. Co-authored-by: Cursor <cursoragent@cursor.com>
30 lines
789 B
Go
30 lines
789 B
Go
package db
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
const testDatabaseEnv = "TEST_DATABASE_URL"
|
|
|
|
// RequireTestDatabaseURL 集成测试必须显式提供隔离测试库,禁止默认连开发库。
|
|
func RequireTestDatabaseURL(t *testing.T) string {
|
|
t.Helper()
|
|
dsn := strings.TrimSpace(os.Getenv(testDatabaseEnv))
|
|
if dsn == "" {
|
|
t.Fatalf("%s must be set for PostgreSQL integration tests (refusing default dev database)", testDatabaseEnv)
|
|
}
|
|
return dsn
|
|
}
|
|
|
|
// SkipIfNoTestDatabaseURL 无隔离测试库时跳过(单元测试包内可选 PG 用例)。
|
|
func SkipIfNoTestDatabaseURL(t *testing.T) string {
|
|
t.Helper()
|
|
dsn := strings.TrimSpace(os.Getenv(testDatabaseEnv))
|
|
if dsn == "" {
|
|
t.Skipf("%s not set; skipping PostgreSQL integration test", testDatabaseEnv)
|
|
}
|
|
return dsn
|
|
}
|