Files
worker/internal/netaddr/testutil.go
Gleb Tv 2c7a0236da feat: publish standalone worker
Separate worker packaging and service lifecycle from the control plane.
2026-07-13 17:55:14 +03:00

40 строки
959 B
Go

package netaddr
import (
"database/sql"
"os"
_ "github.com/lib/pq" // postgres driver
)
type Fatalistic interface {
Fatal(args ...interface{})
}
func openTestConn(t Fatalistic) *sql.DB {
host := getEnv("DATABASE_HOST", getEnv("DB_HOST", "localhost"))
if os.Getenv("CI") != "" && os.Getenv("DATABASE_HOST") == "" && os.Getenv("DB_HOST") == "" {
host = "postgres"
}
port := getEnv("DATABASE_PORT", getEnv("DB_PORT", "35432"))
user := getEnv("DATABASE_USER", getEnv("DB_USER", "rsmon"))
password := getEnv("DATABASE_PASSWORD", getEnv("DB_PASSWORD", "rsmon"))
dbname := getEnv("DATABASE_NAME", getEnv("DB_NAME", "rsmon_test"))
conn, err := sql.Open(
"postgres",
"host="+host+" port="+port+" user="+user+" password="+password+" dbname="+dbname+" sslmode=disable",
)
if err != nil {
t.Fatal(err)
}
return conn
}
func getEnv(key, fallback string) string {
if value := os.Getenv(key); value != "" {
return value
}
return fallback
}