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 }