From 9e45f39e31d94394a2ce02c739437b41459566d9 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 19 Oct 2021 14:45:45 +0200 Subject: [PATCH] simplify database test --- database/database.go | 4 ++++ database/database_test.go | 49 ++++++++++++--------------------------- 2 files changed, 19 insertions(+), 34 deletions(-) diff --git a/database/database.go b/database/database.go index 5d21e54..b8b48b5 100644 --- a/database/database.go +++ b/database/database.go @@ -43,14 +43,17 @@ func InitDB(cfg *config.Config, clear bool) error { if err != nil { return err } + host, err := cfg.String("db.host") if err != nil { return err } + user, err := cfg.String("db.user") if err != nil && !strings.Contains(err.Error(), "Required setting 'db.user' not set") { return err } + pass := "" if user != "" { pass, err = cfg.String("db.pass") @@ -58,6 +61,7 @@ func InitDB(cfg *config.Config, clear bool) error { return err } } + sslmode, err := cfg.String("db.ssl") if err != nil { return err diff --git a/database/database_test.go b/database/database_test.go index 6eff3c3..fd2aedc 100644 --- a/database/database_test.go +++ b/database/database_test.go @@ -48,44 +48,25 @@ func TestInitDB(t *testing.T) { defaults := config.NewStatic(static) env := config.NewEnvironment(mappings) - ownconfig := config.NewConfig([]config.Provider{defaults, env}) + ownConfig := config.NewConfig([]config.Provider{defaults, env}) - 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) + err = InitDB(ownConfig, true) assert.Error(t, err) - dbhost, err := configuration.GlobalConfig.String("db.host") - assert.NoError(t, err) - static["db.host"] = dbhost - ownconfig = config.NewConfig([]config.Provider{defaults, env}) - err = InitDB(ownconfig, true) - assert.Error(t, err) + dbOptions := []string{"db.name", "db.host", "db.user", "db.pass", "db.ssl"} + for _, opt := range dbOptions { + val, err := configuration.GlobalConfig.String(opt) + assert.NoError(t, err) + static[opt] = val + ownConfig = config.NewConfig([]config.Provider{defaults, env}) + err = InitDB(ownConfig, true) - dbuser, err := configuration.GlobalConfig.String("db.user") - assert.NoError(t, err) - static["db.user"] = dbuser - ownconfig = config.NewConfig([]config.Provider{defaults, env}) - 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) + if opt == "db.ssl" { + assert.NoError(t, err) + } else { + assert.Error(t, err) + } + } // Verify that you can connect to the database db := GetDB()