simplify database test

This commit is contained in:
Steffen Vogel 2021-10-19 14:45:45 +02:00
parent 7631e2a9b5
commit 9e45f39e31
2 changed files with 19 additions and 34 deletions

View file

@ -43,14 +43,17 @@ func InitDB(cfg *config.Config, clear bool) error {
if err != nil { if err != nil {
return err return err
} }
host, err := cfg.String("db.host") host, err := cfg.String("db.host")
if err != nil { if err != nil {
return err return err
} }
user, err := cfg.String("db.user") user, err := cfg.String("db.user")
if err != nil && !strings.Contains(err.Error(), "Required setting 'db.user' not set") { if err != nil && !strings.Contains(err.Error(), "Required setting 'db.user' not set") {
return err return err
} }
pass := "" pass := ""
if user != "" { if user != "" {
pass, err = cfg.String("db.pass") pass, err = cfg.String("db.pass")
@ -58,6 +61,7 @@ func InitDB(cfg *config.Config, clear bool) error {
return err return err
} }
} }
sslmode, err := cfg.String("db.ssl") sslmode, err := cfg.String("db.ssl")
if err != nil { if err != nil {
return err return err

View file

@ -48,44 +48,25 @@ func TestInitDB(t *testing.T) {
defaults := config.NewStatic(static) defaults := config.NewStatic(static)
env := config.NewEnvironment(mappings) env := config.NewEnvironment(mappings)
ownconfig := config.NewConfig([]config.Provider{defaults, env}) ownConfig := config.NewConfig([]config.Provider{defaults, env})
err = InitDB(ownconfig, true) err = InitDB(ownConfig, true)
assert.Error(t, err)
dbname, err := configuration.GlobalConfig.String("db.name")
assert.NoError(t, err)
static["db.name"] = dbname
ownconfig = config.NewConfig([]config.Provider{defaults, env})
err = InitDB(ownconfig, true)
assert.Error(t, err) assert.Error(t, err)
dbhost, err := configuration.GlobalConfig.String("db.host") dbOptions := []string{"db.name", "db.host", "db.user", "db.pass", "db.ssl"}
assert.NoError(t, err) for _, opt := range dbOptions {
static["db.host"] = dbhost val, err := configuration.GlobalConfig.String(opt)
ownconfig = config.NewConfig([]config.Provider{defaults, env}) assert.NoError(t, err)
err = InitDB(ownconfig, true) static[opt] = val
assert.Error(t, err) ownConfig = config.NewConfig([]config.Provider{defaults, env})
err = InitDB(ownConfig, true)
dbuser, err := configuration.GlobalConfig.String("db.user") if opt == "db.ssl" {
assert.NoError(t, err) assert.NoError(t, err)
static["db.user"] = dbuser } else {
ownconfig = config.NewConfig([]config.Provider{defaults, env}) assert.Error(t, err)
err = InitDB(ownconfig, true) }
assert.Error(t, err) }
dbpass, err := configuration.GlobalConfig.String("db.pass")
assert.NoError(t, err)
static["db.pass"] = dbpass
ownconfig = config.NewConfig([]config.Provider{defaults, env})
err = InitDB(ownconfig, true)
assert.Error(t, err)
dbssl, err := configuration.GlobalConfig.String("db.ssl")
assert.NoError(t, err)
static["db.ssl"] = dbssl
ownconfig = config.NewConfig([]config.Provider{defaults, env})
err = InitDB(ownconfig, true)
assert.NoError(t, err)
// Verify that you can connect to the database // Verify that you can connect to the database
db := GetDB() db := GetDB()