mirror of
https://github.com/absmach/magistrala.git
synced 2026-06-23 04:10:28 +00:00
NOISSUE - Fix loading Auth config (#64)
Fix bug in loading auth config and also refactor postgres connect
This commit is contained in:
@@ -69,7 +69,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *apostgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *apostgres.Migration()); err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *postgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *postgres.Migration()); err != nil {
|
||||
testLog.Error(fmt.Sprintf("Could not setup test DB connection: %s", err))
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *postgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *postgres.Migration()); err != nil {
|
||||
testLog.Error(fmt.Sprintf("Could not setup test DB connection: %s", err))
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -93,10 +93,11 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *apostgres.Migration(), dbConfig)
|
||||
|
||||
db, err := pgclient.Setup(dbConfig, *apostgres.Migration())
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
|
||||
@@ -86,10 +86,10 @@ func main() {
|
||||
|
||||
// Create new postgres client
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *bootstrappg.Migration(), dbConfig)
|
||||
db, err := pgclient.Setup(dbConfig, *bootstrappg.Migration())
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
@@ -98,7 +98,7 @@ func main() {
|
||||
defer db.Close()
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -69,7 +69,7 @@ func main() {
|
||||
}
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -86,7 +86,7 @@ func main() {
|
||||
logger.Info("Successfully connected to auth grpc server " + acHandler.Secure())
|
||||
|
||||
authConfig = auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+4
-4
@@ -102,10 +102,10 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
logger.Fatal(fmt.Sprintf("failed to load %s database configuration : %s", svcName, err))
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *certspg.Migration(), dbConfig)
|
||||
db, err := pgclient.Setup(dbConfig, *certspg.Migration())
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
@@ -114,7 +114,7 @@ func main() {
|
||||
defer db.Close()
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ func main() {
|
||||
}
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ func main() {
|
||||
}
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -68,7 +68,7 @@ func main() {
|
||||
}
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -85,7 +85,7 @@ func main() {
|
||||
logger.Info("Successfully connected to auth grpc server " + acHandler.Secure())
|
||||
|
||||
authConfig = auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -77,7 +77,7 @@ func main() {
|
||||
repo := newService(db, logger)
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -94,7 +94,7 @@ func main() {
|
||||
logger.Info("Successfully connected to auth grpc server " + acHandler.Secure())
|
||||
|
||||
authConfig = auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+1
-1
@@ -161,7 +161,7 @@ func main() {
|
||||
}
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -69,7 +69,7 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -83,7 +83,7 @@ func main() {
|
||||
defer db.Close()
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -100,7 +100,7 @@ func main() {
|
||||
logger.Info("Successfully connected to auth grpc server " + acHandler.Secure())
|
||||
|
||||
authConfig = auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -82,7 +82,12 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *writerpg.Migration(), dbConfig)
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s Postgres configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
}
|
||||
db, err := pgclient.Setup(dbConfig, *writerpg.Migration())
|
||||
if err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
}
|
||||
|
||||
@@ -82,7 +82,12 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *notifierpg.Migration(), dbConfig)
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s Postgres configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
}
|
||||
db, err := pgclient.Setup(dbConfig, *notifierpg.Migration())
|
||||
if err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
}
|
||||
@@ -125,7 +130,7 @@ func main() {
|
||||
pubSub = brokerstracing.NewPubSub(httpServerConfig, tracer, pubSub)
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -83,7 +83,12 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *notifierpg.Migration(), dbConfig)
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s Postgres configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
}
|
||||
db, err := pgclient.Setup(dbConfig, *notifierpg.Migration())
|
||||
if err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
exitCode = 1
|
||||
@@ -128,7 +133,7 @@ func main() {
|
||||
pubSub = brokerstracing.NewPubSub(httpServerConfig, tracer, pubSub)
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+6
-5
@@ -101,14 +101,15 @@ func main() {
|
||||
|
||||
// Create new database for things
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
logger.Fatal(err.Error())
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
return
|
||||
}
|
||||
|
||||
tm := thingspg.Migration()
|
||||
gm := gpostgres.Migration()
|
||||
tm.Migrations = append(tm.Migrations, gm.Migrations...)
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *tm, dbConfig)
|
||||
db, err := pgclient.Setup(dbConfig, *tm)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
@@ -146,7 +147,7 @@ func main() {
|
||||
logger.Info("Using standalone auth service")
|
||||
default:
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -69,7 +69,7 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -83,7 +83,7 @@ func main() {
|
||||
repo := newService(db, logger)
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
@@ -100,7 +100,7 @@ func main() {
|
||||
logger.Info("Successfully connected to auth grpc server " + acHandler.Secure())
|
||||
|
||||
authConfig = auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -82,7 +82,12 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *timescale.Migration(), dbConfig)
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s Postgres configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
}
|
||||
db, err := pgclient.Setup(dbConfig, *timescale.Migration())
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
|
||||
+1
-1
@@ -127,7 +127,7 @@ func main() {
|
||||
authClient = localusers.NewAuthService(cfg.StandaloneID, cfg.StandaloneToken)
|
||||
default:
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+4
-5
@@ -112,16 +112,15 @@ func main() {
|
||||
}
|
||||
|
||||
dbConfig := pgclient.Config{Name: defDB}
|
||||
if err := dbConfig.LoadEnv(envPrefixDB); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s database configuration : %s", svcName, err.Error()))
|
||||
if err := env.ParseWithOptions(&dbConfig, env.Options{Prefix: envPrefixDB}); err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
return
|
||||
}
|
||||
|
||||
cm := clientspg.Migration()
|
||||
gm := gpostgres.Migration()
|
||||
cm.Migrations = append(cm.Migrations, gm.Migrations...)
|
||||
db, err := pgclient.SetupWithConfig(envPrefixDB, *cm, dbConfig)
|
||||
db, err := pgclient.Setup(dbConfig, *cm)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
exitCode = 1
|
||||
@@ -143,7 +142,7 @@ func main() {
|
||||
tracer := tp.Tracer(svcName)
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuth}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ func main() {
|
||||
}
|
||||
|
||||
authConfig := auth.Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
if err := env.ParseWithOptions(&authConfig, env.Options{Prefix: envPrefixAuthz}); err != nil {
|
||||
logger.Error(fmt.Sprintf("failed to load %s auth configuration : %s", svcName, err))
|
||||
exitCode = 1
|
||||
return
|
||||
|
||||
@@ -65,7 +65,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *postgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *postgres.Migration()); err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
db, err = pgclient.SetupDB(dbConfig, *postgres.Migration())
|
||||
db, err = pgclient.Setup(dbConfig, *postgres.Migration())
|
||||
if err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
db, err = pgclient.SetupDB(dbConfig, *timescale.Migration())
|
||||
db, err = pgclient.Setup(dbConfig, *timescale.Migration())
|
||||
if err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
@@ -33,11 +33,11 @@ func Setup(envPrefix string) (*gocql.Session, error) {
|
||||
// creates new cassandra connection and executes
|
||||
// the initial query in database.
|
||||
func SetupDB(envPrefix string, initQuery string) (*gocql.Session, error) {
|
||||
config := Config{}
|
||||
if err := env.ParseWithOptions(&config, env.Options{Prefix: envPrefix}); err != nil {
|
||||
cfg := Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefix}); err != nil {
|
||||
return nil, errors.Wrap(errConfig, err)
|
||||
}
|
||||
cs, err := Connect(config)
|
||||
cs, err := Connect(cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -35,11 +35,11 @@ type Config struct {
|
||||
|
||||
// Setup load configuration from environment variable, create InfluxDB client and connect to InfluxDB server.
|
||||
func Setup(ctx context.Context, envPrefix string) (influxdb2.Client, error) {
|
||||
config := Config{}
|
||||
if err := env.ParseWithOptions(&config, env.Options{Prefix: envPrefix}); err != nil {
|
||||
cfg := Config{}
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: envPrefix}); err != nil {
|
||||
return nil, errors.Wrap(errConfig, err)
|
||||
}
|
||||
return Connect(ctx, config)
|
||||
return Connect(ctx, cfg)
|
||||
}
|
||||
|
||||
// Connect create InfluxDB client and connect to InfluxDB server.
|
||||
|
||||
@@ -7,14 +7,12 @@ import (
|
||||
"fmt"
|
||||
|
||||
"github.com/absmach/magistrala/pkg/errors"
|
||||
"github.com/caarlos0/env/v10"
|
||||
_ "github.com/jackc/pgx/v5/stdlib" // required for SQL access
|
||||
"github.com/jmoiron/sqlx"
|
||||
migrate "github.com/rubenv/sql-migrate"
|
||||
)
|
||||
|
||||
var (
|
||||
errConfig = errors.New("failed to load postgresql configuration")
|
||||
errConnect = errors.New("failed to connect to postgresql server")
|
||||
errMigration = errors.New("failed to apply migrations")
|
||||
)
|
||||
@@ -33,30 +31,17 @@ type Config struct {
|
||||
|
||||
// Setup creates a connection to the PostgreSQL instance and applies any
|
||||
// unapplied database migrations. A non-nil error is returned to indicate failure.
|
||||
func Setup(prefix string, migrations migrate.MemoryMigrationSource) (*sqlx.DB, error) {
|
||||
return SetupWithConfig(prefix, migrations, Config{})
|
||||
}
|
||||
|
||||
// SetupWithConfig creates a connection to the PostgreSQL instance and applies any
|
||||
// unapplied database migrations. A non-nil error is returned to indicate failure.
|
||||
func SetupWithConfig(prefix string, migrations migrate.MemoryMigrationSource, defConfig Config) (*sqlx.DB, error) {
|
||||
cfg := defConfig
|
||||
if err := env.ParseWithOptions(&cfg, env.Options{Prefix: prefix}); err != nil {
|
||||
return nil, errors.Wrap(errConfig, err)
|
||||
}
|
||||
return SetupDB(cfg, migrations)
|
||||
}
|
||||
|
||||
// SetupDB creates a connection to the PostgreSQL instance and applies any
|
||||
// unapplied database migrations. A non-nil error is returned to indicate failure.
|
||||
func SetupDB(cfg Config, migrations migrate.MemoryMigrationSource) (*sqlx.DB, error) {
|
||||
func Setup(cfg Config, migrations migrate.MemoryMigrationSource) (*sqlx.DB, error) {
|
||||
db, err := Connect(cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := MigrateDB(db, migrations); err != nil {
|
||||
return nil, err
|
||||
|
||||
_, err = migrate.Exec(db.DB, "postgres", migrations, migrate.Up)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(errMigration, err)
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
@@ -71,19 +56,3 @@ func Connect(cfg Config) (*sqlx.DB, error) {
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
// MigrateDB applies any unapplied database migrations.
|
||||
func MigrateDB(db *sqlx.DB, migrations migrate.MemoryMigrationSource) error {
|
||||
_, err := migrate.Exec(db.DB, "postgres", migrations, migrate.Up)
|
||||
if err != nil {
|
||||
return errors.Wrap(errMigration, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Config) LoadEnv(prefix string) error {
|
||||
if err := env.ParseWithOptions(c, env.Options{Prefix: prefix}); err != nil {
|
||||
return errors.Wrap(errConfig, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *upostgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *upostgres.Migration()); err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ type Config struct {
|
||||
ClientCert string `env:"CLIENT_CERT" envDefault:""`
|
||||
ClientKey string `env:"CLIENT_KEY" envDefault:""`
|
||||
ServerCAFile string `env:"SERVER_CA_CERTS" envDefault:""`
|
||||
URL string `env:"URL" envDefault:"localhost:8181"`
|
||||
URL string `env:"URL" envDefault:""`
|
||||
Timeout time.Duration `env:"TIMEOUT" envDefault:"1s"`
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgClient.SetupDB(dbConfig, *upostgres.Migration()); err != nil {
|
||||
if db, err = pgClient.Setup(dbConfig, *upostgres.Migration()); err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *cpostgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *cpostgres.Migration()); err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ func TestMain(m *testing.M) {
|
||||
SSLRootCert: "",
|
||||
}
|
||||
|
||||
if db, err = pgclient.SetupDB(dbConfig, *upostgres.Migration()); err != nil {
|
||||
if db, err = pgclient.Setup(dbConfig, *upostgres.Migration()); err != nil {
|
||||
log.Fatalf("Could not setup test DB connection: %s", err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user