postgres: refactor code that is called by tests (#81279)

* postgres: refactor code that is called by tests too

* removed debug log
This commit is contained in:
Gábor Farkas
2024-01-26 09:11:25 +01:00
committed by GitHub
parent a10c577f52
commit b1d1aa667a
3 changed files with 65 additions and 82 deletions

View File

@ -2,7 +2,6 @@ package postgres
import (
"context"
"database/sql"
"encoding/json"
"fmt"
"os"
@ -53,7 +52,7 @@ func TestIntegrationPostgresSnapshots(t *testing.T) {
t.Skip()
}
openDB := func() *sql.DB {
getCnnStr := func() string {
host := os.Getenv("POSTGRES_HOST")
if host == "" {
host = "localhost"
@ -63,12 +62,8 @@ func TestIntegrationPostgresSnapshots(t *testing.T) {
port = "5432"
}
connStr := fmt.Sprintf("user=grafanatest password=grafanatest host=%s port=%s dbname=grafanadstest sslmode=disable",
return fmt.Sprintf("user=grafanatest password=grafanatest host=%s port=%s dbname=grafanadstest sslmode=disable",
host, port)
db, err := sql.Open("postgres", connStr)
require.NoError(t, err)
return db
}
sqlQueryCommentRe := regexp.MustCompile(`^-- (.+)\n`)
@ -146,17 +141,9 @@ func TestIntegrationPostgresSnapshots(t *testing.T) {
return sql, nil
}
db := openDB()
t.Cleanup((func() {
_, err := db.Exec("DROP TABLE tbl")
require.NoError(t, err)
err = db.Close()
require.NoError(t, err)
}))
cfg := setting.NewCfg()
cfg.DataPath = t.TempDir()
cfg.DataProxyRowLimit = 10000
jsonData := sqleng.JsonData{
MaxOpenConns: 0,
@ -171,17 +158,18 @@ func TestIntegrationPostgresSnapshots(t *testing.T) {
DecryptedSecureJSONData: map[string]string{},
}
config := sqleng.DataPluginConfiguration{
DSInfo: dsInfo,
MetricColumnTypes: []string{"UNKNOWN", "TEXT", "VARCHAR", "CHAR"},
RowLimit: 1000000,
}
queryResultTransformer := postgresQueryResultTransformer{}
logger := log.New()
handler, err := sqleng.NewQueryDataHandler(cfg, db, config, &queryResultTransformer, newPostgresMacroEngine(dsInfo.JsonData.Timescaledb),
logger)
cnnstr := getCnnStr()
db, handler, err := newPostgres(cfg, dsInfo, cnnstr, logger)
t.Cleanup((func() {
_, err := db.Exec("DROP TABLE tbl")
require.NoError(t, err)
err = db.Close()
require.NoError(t, err)
}))
require.NoError(t, err)