Files
query-orchestration/internal/database/config_test.go
T

73 lines
1.7 KiB
Go
Raw Normal View History

package database
import (
"testing"
"github.com/stretchr/testify/assert"
)
2025-01-14 17:28:26 +00:00
func TestMustGetURIInvalidPort(t *testing.T) {
t.Setenv("DB_USER", "user")
t.Setenv("DB_PASS", "pass")
t.Setenv("DB_HOST", "host")
t.Setenv("DB_PORT", "port")
t.Setenv("DB_NAME", "name")
2025-01-14 17:28:26 +00:00
assert.Panics(t, func() { mustGetURI() })
}
2025-01-14 17:28:26 +00:00
func TestMustGetURINoSSL(t *testing.T) {
t.Setenv("DB_USER", "user")
t.Setenv("DB_PASS", "pass")
t.Setenv("DB_HOST", "host")
2025-01-14 17:28:26 +00:00
t.Setenv("DB_PORT", "5432")
t.Setenv("DB_NAME", "name")
t.Setenv("DB_NOSSL", "1")
2025-01-14 17:28:26 +00:00
connStr := mustGetURI()
assert.Equal(t, "postgres://user:pass@host:5432/name?sslmode=disable", connStr.String())
}
2025-01-14 17:28:26 +00:00
func TestMustGetURINoEnv(t *testing.T) {
t.Setenv("DB_USER", "")
t.Setenv("DB_PASS", "")
t.Setenv("DB_HOST", "")
t.Setenv("DB_PORT", "")
t.Setenv("DB_NAME", "")
2025-01-14 17:28:26 +00:00
assert.Panics(t, func() { mustGetURI() })
}
func TestGetPoolConfig(t *testing.T) {
t.Setenv("DB_USER", "user")
t.Setenv("DB_PASS", "pass")
t.Setenv("DB_HOST", "host")
t.Setenv("DB_PORT", "5432")
t.Setenv("DB_NAME", "name")
config, err := getPoolConfig()
assert.Nil(t, err)
2025-01-14 17:28:26 +00:00
assert.Equal(t, config.ConnString(), mustGetURI().String())
}
func TestMustGetPoolConfig(t *testing.T) {
t.Setenv("DB_USER", "user")
t.Setenv("DB_PASS", "pass")
t.Setenv("DB_HOST", "host")
t.Setenv("DB_PORT", "5432")
t.Setenv("DB_NAME", "name")
config := mustGetPoolConfig()
2025-01-14 17:28:26 +00:00
assert.Equal(t, config.ConnString(), mustGetURI().String())
}
func TestMustGetPoolConfigInvalidPort(t *testing.T) {
t.Setenv("DB_USER", "user")
t.Setenv("DB_PASS", "pass")
t.Setenv("DB_HOST", "host")
t.Setenv("DB_PORT", "invalid_port")
t.Setenv("DB_NAME", "name")
assert.Panics(t, func() { mustGetPoolConfig() })
}