Files
query-orchestration/internal/serviceconfig/database/pool_test.go
T

78 lines
1.6 KiB
Go
Raw Normal View History

package database_test
import (
"context"
"os"
"path"
2025-03-05 12:05:46 +00:00
"testing"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/serviceconfig/database"
"queryorchestration/internal/test"
"github.com/jackc/pgx/v5/pgxpool"
"github.com/stretchr/testify/assert"
)
func TestSetDBPool(t *testing.T) {
if testing.Short() {
t.Skip("Skipping long test in short mode")
}
ctx := context.Background()
cfg := &serviceconfig.BaseConfig{}
test.SetCfgProvider(t, cfg)
cfg.SetBasePath(path.Join(os.Getenv("PWD"), "../../.."))
_, cleanup := test.CreateDB(t, ctx, &test.CreateDatabaseConfig{
Cfg: cfg,
RunMigrations: true,
})
defer cleanup()
err := cfg.SetDBPool(ctx)
assert.NoError(t, err)
assert.NotNil(t, cfg.GetDBPool())
}
func TestGetDBPoolConfig(t *testing.T) {
cfg := database.DBConfig{}
err := cfg.SetDBPoolConfig()
assert.Error(t, err)
assert.Nil(t, cfg.DBPoolConfig)
cfg.DBName = "name"
cfg.DBHost = "host"
cfg.DBPort = 123
cfg.DBUser = "user"
cfg.DBSecret = "pass"
err = cfg.SetDBPoolConfig()
assert.NoError(t, err)
assert.NotNil(t, cfg.DBPoolConfig)
}
func TestGetDBPool(t *testing.T) {
cfg := database.DBConfig{}
pool := cfg.GetDBPool()
assert.Nil(t, pool)
cfg.DBPool = &pgxpool.Pool{}
pool = cfg.GetDBPool()
assert.NotNil(t, pool)
assert.Equal(t, pool, cfg.DBPool)
}
func TestGetDBQueries(t *testing.T) {
cfg := database.DBConfig{}
queries := cfg.GetDBQueries()
assert.Nil(t, queries)
cfg.DBQueries = repository.New(&pgxpool.Pool{})
queries = cfg.GetDBQueries()
assert.NotNil(t, queries)
assert.Equal(t, queries, cfg.DBQueries)
}