package database_test import ( "testing" "queryorchestration/internal/serviceconfig/database" "github.com/stretchr/testify/assert" ) func TestGetDBOpts(t *testing.T) { cfg := database.DBConfig{} opts := cfg.GetDBOpts() assert.Equal(t, map[string]string{}, opts) cfg.DBNoSSL = true opts = cfg.GetDBOpts() assert.Equal(t, map[string]string{"sslmode": "disable"}, opts) } func TestGetDBOptsString(t *testing.T) { cfg := database.DBConfig{} opts := cfg.GetDBOptsString() assert.Equal(t, "", opts) cfg.DBNoSSL = true opts = cfg.GetDBOptsString() assert.Equal(t, "sslmode=disable", opts) } func TestGetDBDriver(t *testing.T) { cfg := database.DBConfig{} driver := cfg.GetDBDriver() assert.Equal(t, "postgres", driver) } func TestGetDBBaseURI(t *testing.T) { cfg := database.DBConfig{} uri := cfg.GetDBBaseURI() assert.Equal(t, "postgres://:@:0/", uri) cfg.DBHost = "host" cfg.DBPort = 123 cfg.DBUser = "user" cfg.DBSecret = "pass" uri = cfg.GetDBBaseURI() assert.Equal(t, "postgres://user:pass@host:123/", uri) } func TestGetDBURI(t *testing.T) { cfg := database.DBConfig{} uri := cfg.GetDBURI() assert.Equal(t, "postgres://:@:0/?", uri) cfg.DBHost = "host" cfg.DBPort = 123 cfg.DBUser = "user" cfg.DBSecret = "pass" cfg.DBName = "name" cfg.DBNoSSL = true uri = cfg.GetDBURI() assert.Equal(t, "postgres://user:pass@host:123/name?sslmode=disable", uri) } func TestGetDBAdminDBURI(t *testing.T) { cfg := database.DBConfig{} uri := cfg.GetDBURI() assert.Equal(t, "postgres://:@:0/?", uri) cfg.DBHost = "host" cfg.DBPort = 123 cfg.DBUser = "user" cfg.DBSecret = "pass" cfg.DBName = "name" cfg.DBNoSSL = true uri = cfg.GetDBAdminDBURI() assert.Equal(t, "postgres://user:pass@host:123/postgres?sslmode=disable", uri) } func TestGetDBHost(t *testing.T) { cfg := database.DBConfig{} name := cfg.GetDBHost() assert.Equal(t, "", name) cfg.DBHost = "name" name = cfg.GetDBHost() assert.Equal(t, "name", name) assert.Equal(t, cfg.DBHost, name) } func TestGetDBPort(t *testing.T) { cfg := database.DBConfig{} name := cfg.GetDBPort() assert.Equal(t, 0, name) cfg.DBPort = 8080 name = cfg.GetDBPort() assert.Equal(t, 8080, name) assert.Equal(t, cfg.DBPort, name) } func TestGetDBUser(t *testing.T) { cfg := database.DBConfig{} name := cfg.GetDBUser() assert.Equal(t, "", name) cfg.DBUser = "name" name = cfg.GetDBUser() assert.Equal(t, "name", name) assert.Equal(t, cfg.DBUser, name) } func TestGetDBSecret(t *testing.T) { cfg := database.DBConfig{} name := cfg.GetDBSecret() assert.Equal(t, "", name) cfg.DBSecret = "name" name = cfg.GetDBSecret() assert.Equal(t, "name", name) assert.Equal(t, cfg.DBSecret, name) } func TestIsDBNoSSL(t *testing.T) { cfg := database.DBConfig{} name := cfg.IsDBNoSSL() assert.False(t, name) cfg.DBNoSSL = true name = cfg.IsDBNoSSL() assert.True(t, name) assert.Equal(t, cfg.DBNoSSL, name) } func TestGetDBName(t *testing.T) { cfg := database.DBConfig{} name := cfg.GetDBName() assert.Equal(t, "", name) cfg.DBName = "name" name = cfg.GetDBName() assert.Equal(t, "name", name) assert.Equal(t, cfg.DBName, name) }